🗂
QueryFailedErrorへの対処法
使用技術
- TypeScript 4.3.5
- typeORM
- PostgreSQL 14.1
- Docker
課題
エンティティの定義でテーブル名を変更し、ローカルでサーバーを立ち上げたところ、以下のエラーが出た。
QueryFailedError: insert or update on table "xxx" violates foreign key constraint "xxxxxx"
上記のエラーに対処していく。
1. データベース"postgres"に接続
とりあえず以下のコマンドを実行するとDBの中に入れる。さらに\lでDBの状態を確認する。
$ psql postgres
>>
postgres=# \l
2. 接続するデータベースを変更
docker-compose.ymlにPOSTGRES_DB: sample
と接続先のDBをsampleと定義されているので、以下のコマンドで接続先のDBを変更する。
postgres=# \c sample
3. テーブルとデータベースを削除
sample=# DROP TABLE XXX, YYY
sample=# DROP DATABASE sample
4. 新しいデータベースを作成する
sample=# CREATE DATABASE test
最後に以下のコマンドでDBを抜ける。
sample=# \q
そして再びローカルでサーバーを立ち上げるとQueryFailedErrorが消えた。
Discussion