数据迁移

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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容