Skip to main content

迁移 (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")