beego migrate 使用记录
1、生成迁移文件
// 命令格式
bee generate migration [migrationfile] [-fields="name:type"]
// 示例
bee generate migration user
2、完成迁移脚本
// Run the migrations
func (m *User_20220406_155638) Up() {
m.CreateTable("user", "innodb", "utf8mb4")
m.PriCol("id").SetAuto(true).SetDataType("int(11)").SetUnsigned(true)
m.NewCol("nickname").SetDataType("varchar(255)").SetNullable(false)
m.NewCol("avatar").SetDataType("varchar(32)").SetDefault("''").SetNullable(false)
m.NewCol("status").SetDataType("tinyint(1)").SetUnsigned(true).SetDefault("1").SetNullable(false)
m.NewCol("created_at").SetDataType("int(11)").SetUnsigned(true).SetNullable(false)
m.NewCol("updated_at").SetDataType("int(11)").SetUnsigned(true).SetNullable(false)
m.SQL(m.GetSQL())
}
// Reverse the migrations
func (m *User_20220406_155638) Down() {
m.SQL("DROP TABLE IF EXISTS user")
}
此处注意默认空字符的写法,SetDefault("''")
执行迁移命令
// 命令格式
bee migrate [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-dir="path/to/migration"]
// 示例
bee migrate -conn="root:password@tcp(127.0.0.1:3306)/database"
默认是mysql数据库,无需添加参数,默认路径也无需修改
出现类似的一下提示,missing go.sum entry for module providing package,请执行
go mod tidy
男儿走四方,何处不为家
死在哪里,葬在哪里,天下青山一样