PlanetScale に接続して、 Prisma (schema.prisma) で設定した通りのテーブルを作成したい。
開発環境を想定したテストブランチを PlanetScale に作っていたので、 prisma migrate dev
でいけるかなと試してみても、エラーが出てしまった。
エラーログ
$ yarn prisma migrate dev
yarn run v1.22.19
$ {ディレクトリパス}/node_modules/.bin/prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "{DB名}" at "{PlanetScale側DBホスト}:{ポート番号}"
Error: P3014
Prisma Migrate could not create the shadow database. Please make sure the database user has permission to create databases. Read more about the shadow database (and workarounds) at https://pris.ly/d/migrate-shadow
Original error:
create database is not supported
0: migration_core::state::DevDiagnostic
at migration-engine/core/src/state.rs:250
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
環境
- PlanetScale
- Prisma 4.6.0
- Yarn 1.22.19
対処法
公式サイトを確認すると、 prisma migrate
ではなく、 prisma db push
を推奨していた。
実際、 prisma db push
を実行すると問題なく通った。
「シャドウデータベースが作れない」というエラーだったり、「create database is not supported」って出ていたので、なにか権限を付与する必要があるのか?と誤解した。