beego

数据迁移

2019-05-05  本文已影响0人  寒云暮雨

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/
上一篇 下一篇

猜你喜欢

热点阅读