gorm支持pgsql数据库的自动迁移么?
gorm 的createTable方法或AutoMigrate方法如何在创建表时,指定表所在的模式?
我的数据库结构如下图
默认会创建在public模式中,但是我想让表生成在bbb模式中,请问应该如何操作? 直接指定表名么?
因为mysql数据库和pgsql会使用相同的结构,所以有没有除了再创建一个相同的结构体以外其他的解决方式呢?
type Test struct {
Name string `json:"name" gorm:"type:varchar(60); unique_index:one"`
Age int `json:"age" gorm:"type:int; unique_index:one"`
}
问题补充:
1、我为pgsql创建了一个与Test结构完全相同的结构体PGTest,且通过重写TableName方法确实可以指定在bbb模式中创建表,但是每次启动时的自动迁移都会进入重新创建的流程。使用hasTable方法先判断表是否存在然后再进行创建的方式,同样无法找到已经存在的表
2、使用gorm提供的firstOrInit方法时,如果当前的数据已存在,进行Save的时候并非是进行update操作,而是insert,导致报错,请问这个应该如何解决?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
创建两个gorm db对象,分别对应两个库链接。
在一个对象中通过设置表名垮库建表没问题,但是可能会检查不到表存在。