登录
首页 >  Golang >  Go问答

请勿在表名中使用下划线,遵循GORM规范

来源:stackoverflow

时间:2024-03-09 18:45:28 161浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《请勿在表名中使用下划线,遵循GORM规范》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

我正在尝试将 GORM 与最初使用 Django 开发的数据库一起使用。

我遇到的问题是 Django 创建的表遵循 app_name_tablename 格式。我正在使用 TablePrefix 选项添加 app_name_ 部分,但我找不到阻止 GORM 在名称中自动使用下划线的选项。 Gorm 文档似乎没有引用删除此下划线的选项。

显然,我可以在每个模型上手动定义表名,但我宁愿避免这样做。 Gorm 配置中有一个选项可以自动执行此操作吗?


正确答案


您可以尝试nolowercase

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
  NamingStrategy: schema.NamingStrategy{
    TablePrefix: "t_",   // table name prefix, table for `User` would be `t_users`
    SingularTable: true, // use singular table name, table for `User` would be `user` with this option enabled
    NoLowerCase: true, // skip the snake_casing of names
    NameReplacer: strings.NewReplacer("CID", "Cid"), // use name replacer to change struct/field name before convert it to db name
  },
})

https://gorm.io/docs/gorm_config.html#NamingStrategy

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>