亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 golang-migrate/migrate 進行 Gorm 遷移

使用 golang-migrate/migrate 進行 Gorm 遷移

Go
三國紛爭 2022-07-11 15:08:24
我決定使用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[]"`

}


查看完整回答
反對 回復 2022-07-11
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

沒有直接的解決方案可以從您的模型中自動生成 SQL。在 golang-migrate/migrate 中,您應該為每個版本編寫升級/降級遷移版本的 SQL 腳本,并且您不能使用 gorm 生成這些文件。

您應該手動使您的 gorm 模型與遷移腳本同步。


查看完整回答
反對 回復 2022-07-11
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號