Postgresql 禁用Heroku中的触发器
我正在本地机器上运行迁移脚本,并且有一些类似的语句Postgresql 禁用Heroku中的触发器,postgresql,heroku,heroku-postgres,Postgresql,Heroku,Heroku Postgres,我正在本地机器上运行迁移脚本,并且有一些类似的语句 ALTER TABLE "TableName" DISABLE TRIGGER ALL; 迁移在我的本地计算机上成功运行,但我在Heroku上的Postgres数据库上运行脚本时遇到问题。我也试过下面的说法 ALTER TABLE "TableName" DISABLE TRIGGER USER; 这也不行。下面是我收到的错误消息 ERROR: 23503: insert or update on table "Test" violate
ALTER TABLE "TableName" DISABLE TRIGGER ALL;
迁移在我的本地计算机上成功运行,但我在Heroku上的Postgres数据库上运行脚本时遇到问题。我也试过下面的说法
ALTER TABLE "TableName" DISABLE TRIGGER USER;
这也不行。下面是我收到的错误消息
ERROR: 23503: insert or update on table "Test" violates foreign key constraint "Test_pageID_fkey"
DETAIL: Key (pageID)=(152) is not present in table "Page".
SCHEMA NAME: public
TABLE NAME: Test
CONSTRAINT NAME: Test_pageID_fkey
LOCATION: ri_ReportViolation, ri_triggers.c:3271
Time: 80.460 ms
我相信这里的问题是我不是超级用户,不能禁用数据库的所有触发器。尽管调用了上述语句,触发器在本地被禁用,但在Heroku上未被禁用。有没有关于如何在Heroku中禁用触发器的想法?mo也遇到了。。。你能解决这个问题吗?你有没有试着一张表一张表地禁用它们?(一般来说,禁用触发器对于数据完整性来说是一件危险的事情,但是如果您确切地知道自己在做什么,并且自己注意引用完整性,那么就可以了)