読者コミュニティ|【フルスタックアプリ入門】ブックマークアプリを作成しよう(Next.js & TypeScript & NextAuth & Prisma)
本の感想や質問をお気軽にコメントしてください。
本の内容を進める途中でエラーが発生したので質問いたします。
環境
- MacBook Pro 13-inch, 2019, Intel Core i5
- macOS Monterey 12.4
- node v16.13.2
- Docker version 20.10.17, build 100c701
- docker-compose version 1.29.2, build 5becea4c
発生箇所
Chapter 07 Prisma を使ってテーブルを作成しよう
Prisma と PostgreSQL 上のデータベースとの接続
内容
下記コマンドでマイグレーションを実行するとエラーが発生する。
$ npx prisma migrate dev --name init
# エラー内容
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "mydb", schema "public" at "localhost:5432"
Error: P1010: User `root` was denied access on the database `mydb.public`
docker-compose.yml に記述したユーザー名とパスワード(root / secret) ではアクセス権限が無いと表示されてしまいます。
これを解決したいのですが、よろしければアドバイスなど頂けないでしょうか。
Docker コンテナにログイン後、psql で mydb
に接続できる事を確認済みです。
bash-5.1# psql -U root -d mydb
psql (12.11)
Type "help" for help.
mydb=#
プロジェクトの現在の状態は GitHub に Push 済みです。
.env の内容は下記の通り。
DATABASE_URL="postgresql://root:secret@localhost:5432/mydb"
こちらの質問ですが、私の環境に問題があり、
macOS 上で全く同じポートで PostgreSQL が立ち上がっている状態でした。
既存の PostgreSQL を終了後に改めて docker-compose up
でコンテナを立ち上げるとマイグレーションが無事実行出来ました
お騒がせして申し訳ございません。
こんにちは。
丁寧にご質問して頂き誠にありがとうございます。
先ほど、送っていただいたレポジトリを clone をし、マイグレーションを実行したところ、エラーは吐かれませんでした。
実行したコマンドは下記の通りです。
$ git clone git@github.com:y4shiro/zenn-bookmark-app.git
$ cd zenn-bookmark-app
$ docker-compose up
$ npm i
.env
ファイルに下記を追加。
DATABASE_URL="postgresql://root:secret@localhost:5432/mydb"
$ npx prisma migrate dev --name init
大変お手数ですが、Docker コンテナ・ボリュームを削除した後、再度マイグレーションをしてみて頂けますでしょうか。
改善されない場合は、再度ご質問していただけると幸いです。
何卒よろしくお願いいたします。
ご返信頂きありがとうございます。
いえいえ、解決して何よりです。
他に何か疑問点などありましたら、遠慮なくご質問して頂けると幸いです。
今後ともよろしくお願いします。