💻

Supabase CLIのコマンド

2025/01/18に公開

データベースのリセット

supabase db reset

  • supabase/migrations/schema.sql > supabase/migrations/内でタイムスタンプの古い順番 > supabase/seed.sqlの順番で実行される。

ローカルだけの差分を取る

supabase db diff

  • migrationsに登録されているSQLで生成されるデータベース定義と、実際に現状動いているデータベースの定義の差分がSQLで出力される。
  • migrationsに登録されているSQL+出力されたSQLが現状動いているデータベースの定義となる。
  • 差分が出力された場合、その部分をmigrationsに登録する必要があると思われる。
  • 差分をmigrationsに登録するには、下記のコマンドを使う。

supabse db diff -f [ファイル名]

  • 実行するとmigrations/[タイムスタンプ]_[ファイル名].sqlが自動生成される。

ローカルとリモートの差分を取る

supbase db diff --linked

  • リモートのデータベース定義と、ローカルに登録されている最新の定義の差分をSQLで表示する。(ローカルで「現状動いている定義」ではなく、「登録されている」定義であることに注意)
  • 出力された差分をローカルに適用すると、リモートの定義と一致する。
  • 下記のコマンドで差分をmigrationsに登録できる。

supabase db diff --linked -f [ファイル名]

  • 実行するとmigrations/[タイムスタンプ]_[ファイル名].sqlが自動生成される。

Discussion