当我运行cap staging deploy:check
时,它会成功。当我运行cap staging deploy
时,它会成功直到deploy:assets:precompile
出现此错误为止:
01 ~/.rvm/bin/rvm default do bundle exec rake assets:precompile
01 rake aborted!
01 ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "links" does not exist
01 LINE 1: SELECT "links".* FROM "links"
在谷歌搜索之后,我相信问题在于它正在尝试在创建表之前创建关系。此后,我尝试了许多解决方案,包括将config.assets.initialize_on_precompile = false
放在application.rb中,但没有一个起作用。
我迫切需要帮助。谢谢!
答案 0 :(得分:0)
问题在于asset:precompile任务会引导整个Rails环境。您是否有任何初始化程序或使用 Link 模型的东西?
肮脏的解决方法:
ssh到登台服务器,请转至您在capistrano的配置中设置的:deploy_path ,然后在上一发布文件夹中。之后,手动运行 RAILS_ENV = staging bundle exec rake db:migrate 。