Open9

Bun + golang-migrate + Atlas でマイグレーションする

yulogyulog
  • Bun ではマイグレーションは自分で書く必要がある。
  • golang-migrate/migrate でも自力で書く必要があるが、ライブラリとして使えば古いスキーマから新しいスキーマへマイグレーションできる
  • Atlas はスキーマを用意すれば差分のSQLを作ってくれる
    • ライブラリとしての使い方が分からない( ent の例は出てくる)

Atlas で差分を生成して、golang-migrate/migrate をライブラリとして組み込んでマイグレーションする

yulogyulog

Atlas で golang-migrate/migrate 向けのファイルを出力する

--dir "file://migrations?format=golang-migrate"

https://atlasgo.io/guides/migration-tools/golang-migrate

yulogyulog

コマンド全体はこう

atlas migrate diff --dev-url "sqlite://file?mode=memory" --to "file://schema.sql"
  • to: 新しい望ましい状態。この状態にするためのSQLが生成される
  • dev-url: 差分の計算に使う開発用DB