我有一个 Rails 项目运行 rspec 进行测试,我想在每次启动 RSPEC 时从转储文件中恢复测试数据库。我尝试在 rspec block 下的 rails_helper
文件中编写一些配置,但由于数据库正在使用中,无法使用系统命令恢复数据库。
加载 rspec 时如何从转储文件恢复数据库?
使用 Rails 5 和 psql
最佳答案
我能够通过在 RSpec 配置 block 下的 rails_helper
中执行以下操作来解决此问题:
ActiveRecord::Base.connection.disconnect!
system('bin/rails db:environment:set RAILS_ENV=test')
system('rake db:drop')
system('rake db:create')
system('pg_restore --no-acl --no-owner -d name_of_databse test.dump')
ActiveRecord::Base::establish_connection
关于ruby-on-rails - RSPEC - 在加载时从文件恢复数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43330307/