HerokuでRailsアプリを運用しているものです。
モデルのカラムから「外部キー」を削除するだけの処理のマイグレーションを反映したいのですが、以下のSQLが走った時だけDBがスタックして、全然先に進まなくなるのです
sql
1ALTER TABLE projects DROP CONSTRAINT projects_user_id_fk;
不思議なのは、この処理は「ローカル」および、本番と同じくHerokuサーバで作っているステージング環境のDBでは問題なく走るということです。
なので、「コードに問題があるというよりかはDBに問題があるのでは?」と考えているのですが、目下対応策が思い浮かばず困っています。
ちなみにDBのバージョンは以下の通りです。
sql
1SELECT version(); 2 3-- PostgreSQL 11.5 (Ubuntu 11.5-3.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609, 64-bit
どなたか原因に心当たりのある方、アドバイスをいただけないでしょうか?
よろしくお願いいたします。
追記
- usersとprojectsのテーブルのデータ量を記載します
- HerokuのDB利用の制限となるレコード数は、
38,248/10,000,000
なので、限界には達している感じではないです。
sql
1SELECT COUNT(*) from users; 2 3 count 4------- 5 2429 6 7SELECT 8 relname, 9 reltuples as rows, 10 (relpages * 8192) as bytes 11FROM 12 pg_class 13WHERE 14 relname = 'users'; 15 16--- 17 18 relname | rows | bytes 19---------+------+-------- 20 users | 2419 | 843776 21
sql
1SELECT COUNT(*) from projects; 2 3 count 4------- 5 168 6 7SELECT 8 relname, 9 reltuples as rows, 10 (relpages * 8192) as bytes 11FROM 12 pg_class 13WHERE 14 relname = 'projects'; 15 16--- 17 18 relname | rows | bytes 19----------+------+-------- 20 projects | 168 | 360448
回答1件
あなたの回答
tips
プレビュー