我决定使用gorm作为我的 ORM。我想使用golang-migrate/migrate 进行迁移,因为看起来 GORM 没有版本化的迁移文件。我宁愿使用 CLI 进行迁移,而不是使用自动迁移。我阅读了 gorm 文档,但没有看到 gorm 如何将模型转换为 SQL 表。有没有关于为 gorm 生成的 SQL 表的示例或文档?(尤其是类型或关联如何映射到 SQL)
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
阅读 gorm 文档,但我没有看到 gorm 如何将模型转换为 SQL 表。有没有关于为 gorm 生成的 SQL 表的示例或文档?(尤其是类型或关联如何映射到 SQL)
查看声明模型段落:
列数据类型,喜欢使用兼容的通用类型,例如:bool、int、uint、float、string、time、bytes,适用于所有数据库,也可以和其他标签一起使用,如not null、size、autoIncrement…也支持指定数据库数据类型,如varbinary(8),使用指定数据库数据类型时,需要是全数据库数据类型,例如:MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT
例如
type Post struct {
ID uuid.UUID `gorm:"type:uuid;default:uuid_generate_v4()"`
Title string
Tags pq.StringArray `gorm:"type:text[]"`
}
Smart猫小萌
TA贡献1911条经验 获得超7个赞
没有直接的解决方案可以从您的模型中自动生成 SQL。在 golang-migrate/migrate 中,您应该为每个版本编写升级/降级迁移版本的 SQL 脚本,并且您不能使用 gorm 生成这些文件。
您应该手动使您的 gorm 模型与迁移脚本同步。
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消