使用 golang-migrate/migrate 进行 Gorm 迁移

我决定使用gorm作为我的 ORM。我想使用golang-migrate/migrate 进行迁移,因为看起来 GORM 没有版本化的迁移文件。我宁愿使用 CLI 进行迁移,而不是使用自动迁移。

我阅读了 gorm 文档,但没有看到 gorm 如何将模型转换为 SQL 表。有没有关于为 gorm 生成的 SQL 表的示例或文档?(尤其是类型或关联如何映射到 SQL)


三国纷争
浏览 126回答 2
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猫小萌

没有直接的解决方案可以从您的模型中自动生成 SQL。在 golang-migrate/migrate 中,您应该为每个版本编写升级/降级迁移版本的 SQL 脚本,并且您不能使用 gorm 生成这些文件。您应该手动使您的 gorm 模型与迁移脚本同步。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go