Joe*_*att 3 ruby-on-rails rails-migrations
我有一些代码,我从初始化程序运行,它工作正常.(它将yaml文件的默认设置保存到rails-settings-cache gem 的数据库中.)
但是当我在Travis CI上运行它时,由于它从头开始进行迁移,因此初始化程序失败,因为该表尚不存在.
有没有运行代码的方式后迁移,但应用程序启动之前?
Pet*_*ein 12
因此,虽然我不喜欢这样做,但是在db:migrate期间阻止初始化程序运行的简单方法,但是在应用程序启动或测试运行时运行是将它包装在子句测试中(如果表存在).因此,如果您使用现有的初始化代码并将其包装
if ActiveRecord::Base.connection.table_exists? 'table_name'
....
end
Run Code Online (Sandbox Code Playgroud)
其中'table_name'是缺失表的名称,然后rake db:migrate和spec运行应该能够成功完成.
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |