And*_*tad 6 ruby queue rspec ruby-on-rails rails-postgresql
当我跑
$rspec "/any_file"
Run Code Online (Sandbox Code Playgroud)
rspec在schema.rb文件中加载以设置数据库.
我的理解是,当涉及到这条线
create_table "queue_classic_jobs", force: true do |t|; end
Run Code Online (Sandbox Code Playgroud)
Rspec运行一个
DROP TABLE "queue_classic_jobs"
Run Code Online (Sandbox Code Playgroud)
命令.
它拖出了这个错误
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"
Run Code Online (Sandbox Code Playgroud)
它看起来像我必须制作rspec
DROP TABLE "queue_classic_jobs" CASCADE
Run Code Online (Sandbox Code Playgroud)
但是怎么样?
Dan*_*Dan 10
你在运行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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |