【发布时间】:2017-04-30 17:51:43
【问题描述】:
我将 Heroku CI (Beta) 与我的 rails 应用程序一起使用,当我的测试运行时,它们都失败并出现以下错误:
WARNING: Rails was not able to disable referential integrity.
This is most likely caused due to missing permissions.
Rails needs superuser privileges to disable referential integrity.
cause: PG::InsufficientPrivilege: ERROR: permission denied: "RI_ConstraintTrigger_a_5199633" is a system trigger
这与 rails 如何处理夹具记录的删除有关。他们没有试图弄清楚记录被删除的顺序,而是简单地关闭保持参照完整性的触发器。
在 Heroku CI 上运行测试时,这不是一个选项。有人对此有适当的解决方案吗?
【问题讨论】:
-
哎呀,我猜 factory 和 database_cleaner 比我有更多优点。
-
我们绝对需要一个解决方法!有什么解决办法吗?
-
Heroku 现在使用in-dyno databases 很好地解决了这个问题。
标签: ruby-on-rails heroku heroku-ci