数据迁移

作者: 寒云暮雨 | 来源:发表于2019-05-05 22:40 被阅读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/

    相关文章

      网友评论

        本文标题:数据迁移

        本文链接:https://www.haomeiwen.com/subject/mcgkoqtx.html