迁移 (Migration)
GORM 提供了自动迁移功能。
db.AutoMigrate(&User{}, &Product{}, &Order{})
AutoMigrate 会创建表、缺少的外键、约束、列和索引。如果大小、精度、是否为空可以更改,它也会更改列的类型。
注意:
AutoMigrate不会 删除未使用的列,以保护您的数据。
Migrator 接口
GORM 提供了 Migrator 接口,用于更精细的数据库操作。
// 检查表是否存在
db.Migrator().HasTable(&User{})
// 创建表
db.Migrator().CreateTable(&User{})
// 删除表
db.Migrator().DropTable(&User{})
// 添加列
db.Migrator().AddColumn(&User{}, "Name")