Go
golang
beego
bee

beegoのbeeツールでmigrateするときの設定ファイル

More than 1 year has passed since last update.

GoでフルスタックなWAFだとbeegoかrevelだと思いますが、日本では圧倒的にrevelが多いっぽく、beegoの情報少なくて、見つからなかったのでメモがてらに書いておこうと思います。

普通に bee migrateする場合

まず、特に設定ファイルをおかずにbee migrateする場合は、こんな感じ。

あ、beegoはデフォルトがmysqlなので、mysqlだとdriverとか書かなくていいので、全部postgresqlで書きます

$ bee migrate -driver="postgres" -conn="postgres://user:password@host:5432/dbname?sslmode=disable"

これ毎回書くの辛いです。
しば〜らく書いてて辛かったです、暗記したころに設定ファイル化できることを知りました、、、

設定ファイル版

beeツールのconfigはjsonとyamlに対応しているようで

・bee.json
・Beefile(yaml形式)

beeコマンドを実行したディレクトリにどちらかが置かれていればそれを読み込みます。

ということで、先程のbeeコマンドを設定ファイルに落とし込むとこんな感じです。

bee.json
{
    "database": {
        "driver": "postgres",
        "conn": "postgres://user:password@5432/dbname?sslmode=disable"
    }
}

これで、

$ bee migrate

だけで実行できるようになりました!
もちろん、bee.jsonとかBeefileはbeeツール全般の設定ファイルなので、baleとかの設定も書くことが可能です。(詳しくはbee/config/conf.goのstruct参照)


ただ、同じbeegoなんだから、conf/に特定のkeyで置いとけば勝手にそっち見てくれるようにしてほしいっていうのが実際のところ、、、

ちなみに関係ないですが、postgresqlでbee migrateすると、mysqlのドライバを何故か求められます(´・ω・`)