Open5

Supabaseお試し

Takashi TenjoTakashi Tenjo

Supabaseのローカル開発環境ではsupabase start時に出てくるAPI URLとanon keyを使う必要がある。

今回はNuxtを使っていたので、API URLとanon keyを.env.localファイルに書いてdevサーバーの起動時に--dotenv .env.localとオプションを渡す必要がある。

Takashi TenjoTakashi Tenjo

supabase.auth.signInWithPasswordでログインする際には、ログイン成功時にリダイレクトさせることがsupabase側の仕組みとしてなさそう。

Takashi TenjoTakashi Tenjo

初めてsupabase startしたときに以下のようなエラーが出た。supabaseもdockerも再起動しても治らなくて、ChatGPTにきいて解決した。

failed to create docker container: Error response from daemon: Conflict. The container name "/supabase_vector_foo" is already in use by container "...". You have to remove (or rename) that container to be able to reuse that name.

エラーの内容としてはコンテナの名前が被ったということだが、このとき他にコンテナはなかったのでよくわからなかった。

$ docker rm 4a999b6dade6
Error response from daemon: No such container: ...

結局Dockerのキャッシュをクリアすることで解決した。

$ docker system prune -f

Dockerも素人なので結局原因はわからない。

Takashi TenjoTakashi Tenjo

型情報の生成

$ supabase gen types --lang=typescript --local > database.types.ts

$ supabase gen types --lang=typescript --project-id "$PROJECT_REF" --schema public > database.types.ts
Takashi TenjoTakashi Tenjo

SupabaseというよりNext.jsの話だが。

Vercelへデプロイするときに環境変数の設定を忘れていた。SupbaseのProject URLとAPI KeyをNEXT_PUBLIC_付きの環境変数で設定していたた。NEXT_PUBLIC_付きの環境変数はインライン展開されるため、Vercelの設定であとから追加しても再ビルドするまで反映されない。