DigitalOcean - 预编译资产上的 cap staging 部署错误
DigitalOcean - cap staging deploy error on precompiling assets
当我 运行 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 中,但其中 none 有效。
我迫切需要帮助。谢谢!
问题是 asset:precompile 任务启动了完整的 Rails 环境。你有任何初始化程序或使用 Link 模型的东西吗?
肮脏的解决方法:
ssh 到登台服务器,转到 :deploy_path 你在 capistrano 的配置中设置,然后在上一个发布文件夹中。之后手动 运行 RAILS_ENV=staging bundle exec rake db:migrate.
当我 运行 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 中,但其中 none 有效。
我迫切需要帮助。谢谢!
问题是 asset:precompile 任务启动了完整的 Rails 环境。你有任何初始化程序或使用 Link 模型的东西吗?
肮脏的解决方法:
ssh 到登台服务器,转到 :deploy_path 你在 capistrano 的配置中设置,然后在上一个发布文件夹中。之后手动 运行 RAILS_ENV=staging bundle exec rake db:migrate.