1、bee generate migration [表名称],例如:bee generate migration user
image.png
2、bee migrate -driver=mysql -conn="用户名:密码@tcp(127.0.0.1:3306)/数据库"
执行迁移命令bee migrate -driver=mysql -conn="root:@tcp(127.0.0.1:3306)/shenshen",这里有个坑,数据库密码为空的话不写,
在本地数据库下生成一个migrations表,用于存储所有的数据迁移,数据迁移如下
package main
import (
"fmt"
"github.com/astaxie/beego/migration"
"io/ioutil"
)
// DO NOT MODIFY
type User_20190505_223925 struct {
migration.Migration
}
// DO NOT MODIFY
func init() {
m := &User_20190505_223925{}
m.Created = "20190505_223925"
migration.Register("User_20190505_223925", m)
}
// Run the migrations
func (m *User_20190505_223925) Up() {
// use m.SQL("CREATE TABLE ...") to make schema update
sql, err := ioutil.ReadFile("users.sql")
if err == nil {
m.SQL(string(sql))
} else {
fmt.Println(err)
}
}
// Reverse the migrations
func (m *User_20190505_223925) Down() {
// use m.SQL("DROP TABLE ...") to reverse schema update
m.SQL("DROP TABLE IF EXISTS `users`;")
}
image.png
image.png
参考文章http://www.golangprograms.com/golang/beego-migration/
网友评论