![](/img/trans.png)
[英]PG::DependentObjectsStillExist: ERROR: cannot drop table reports because other objects depend on it
[英]PG::DependentObjectsStillExist: ERROR when using rspec
當我跑
$rspec "/any_file"
rspec在schema.rb文件中加載以設置數據庫。
我的理解是,當涉及到這條線
create_table "queue_classic_jobs", force: true do |t|; end
Rspec運行一個
DROP TABLE "queue_classic_jobs"
命令。
它拖出了這個錯誤
PG::DependentObjectsStillExist: ERROR: cannot drop table queue_classic_jobs because
other objects depend on it (ActiveRecord::StatementInvalid)
DETAIL: function lock_head(character varying) depends on type queue_classic_jobs
function lock_head(character varying,integer) depends on type queue_classic_jobs
HINT: Use DROP ... CASCADE to drop the dependent objects too.
: DROP TABLE "queue_classic_jobs"
它看起來像我必須制作rspec
DROP TABLE "queue_classic_jobs" CASCADE
但是怎么樣?
你在運行Rails> = 4.1嗎? 有一個新功能,ActiveRecord嘗試讓您的測試架構與schema.rb保持同步,而無需重新加載整個數據庫。 你可以在這里閱讀它: http : //guides.rubyonrails.org/4_1_release_notes.html#railties-notable-changes 。
不幸的是,它不適用於外鍵: https : //github.com/rails/rails/issues/14708 。 您可以通過在config / environments / test.rb末尾添加此行來禁用它:
config.active_record.maintain_test_schema = false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.