同じ問題に遭遇しました.MySqlを使用しています. これが私がやった方法です-
を使用して移行ファイルを作成しましたbee generate
:
$ bee generate migration user
2016/06/26 13:36:31 [INFO] Using 'user' as migration name
2016/06/26 13:36:32 [INFO] Migration file generated: /path/to/project/database/migrations/20160626_140247_user.go
2016/06/26 13:36:32 [SUCC] generate successfully created!
これでファイルが生成され、以下がファイルの内容です。
package main
import (
"github.com/astaxie/beego/migration"
)
// DO NOT MODIFY
type User_20160626_140247 struct {
migration.Migration
}
// DO NOT MODIFY
func init() {
m := &User_20160626_140247{}
m.Created = "20160626_140247"
migration.Register("User_20160626_140247", m)
}
// Run the migrations
func (m *User_20160626_140247) Up() {
// use m.SQL("CREATE TABLE ...") to make schema update
}
// Reverse the migrations
func (m *User_20160626_140247) Down() {
// use m.SQL("DROP TABLE ...") to reverse schema update
}
Up
メソッドとメソッドを更新しましたDown
。これらのメソッドのコメントでは、m.SQL
生の SQL クエリを実行するために呼び出すことができることがわかります。ここでは、alter
コマンドを使用して構造を更新できます。
変更が完了したら、実行bee migrate
してこれらの移行を適用できます。以下は例です-
$bee migrate -conn="username:password@tcp(127.0.0.1:3306)/mydb"
お役に立てれば。