开发环境
Lnaguage:Golang ver.1.9.2
DB:mySQL
框架:未决定(也许我会使用狂欢)
情况
我已经拥有了具有奇异名称表的DB,例如“user”,“page”。它无法改变。
现在我将使用此DB开发新的应用程序。 我创建了简单的应用程序来连接这个数据库,并尝试使用gorm(https://github.com/jinzhu/gorm)进行自动迁移。 我定义了一些模型,比如“user”,它与现有的DB表名相同,并运行自动迁移,就像它写入(http://jinzhu.me/gorm/database.html#connecting-to-a-database)
一样db.Set(“gorm:table_options”,“ENGINE = InnoDB”)。AutoMigrate(& User {})
然后,创建了新表“users”。
问题 我可以创建单一名称表,例如“自动迁移的用户”还是那些东西? 使用gorm不是必需的,因此如果有效,我将使用另一个orm库。
我希望有人帮助我!
答案 0 :(得分:2)
在struct TableName
上实现函数User
以返回表的自定义名称。 ORM使用此函数获取所有数据库操作的表名。
func (user *User) TableName() string {
return "user"
}
请参阅此处的文档:http://jinzhu.me/gorm/models.html#table-name-is-the-pluralized-version-of-struct-name
答案 1 :(得分:2)
您已使用db实例设置使用单数表,如下所示:
db.SingularTable(true)