ruby-on-rails – PG :: DependentObjectsStillExist:使用rspec
发布时间:2020-12-16 22:49:02 所属栏目:百科 来源:网络整理
导读:当我跑 $rspec "/any_file" rspec在schema.rb文件中加载以设置数据库. 我的理解是,当涉及到这条线 create_table "queue_classic_jobs",force: true do |t|; end Rspec运行一个 DROP TABLE "queue_classic_jobs" 命令. 它拖出了这个错误 PG::DependentObjects
当我跑
$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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容