Open9
Bun + golang-migrate + Atlas でマイグレーションする
- Bun ではマイグレーションは自分で書く必要がある。
- golang-migrate/migrate でも自力で書く必要があるが、ライブラリとして使えば古いスキーマから新しいスキーマへマイグレーションできる
-
Atlas はスキーマを用意すれば差分のSQLを作ってくれる
- ライブラリとしての使い方が分からない( ent の例は出てくる)
Atlas で差分を生成して、golang-migrate/migrate をライブラリとして組み込んでマイグレーションする
Atlas で golang-migrate/migrate 向けのファイルを出力する
--dir "file://migrations?format=golang-migrate"
コマンド全体はこう
atlas migrate diff --dev-url "sqlite://file?mode=memory" --to "file://schema.sql"
- to: 新しい望ましい状態。この状態にするためのSQLが生成される
- dev-url: 差分の計算に使う開発用DB
メモ
マイグレーションの実行用関数