我在Capistrano遇到一个奇怪的问题,同时准备好生产服务器。当我运行cap production deploy
,它总是失败的部署:迁移与Capistrano帽子生产部署失败,但迁移帽子生产部署:迁移通过
的ActiveRecord :: AdapterNotSpecified步:“生产”数据库不是 配置。可用:“defaul ......
然而,当我运行cap production deploy:migrate
,Capistrano的成功完成
在实际的服务器,我可以运行RAILS_ENV=production bundle exec rake:migrate
没有任何问题,无论是
的Capistrano的日志。吐出相同的命令两者:
[部署:迁移]运行
rake db:migrate
我的数据库配置是这样的:
production:
adapter: mysql2
encoding: utf8
database: foo
host: localhost
pool: 5
timeout: 5000
username: bar
password: password
socket: /opt/bitnami/mysql/tmp/mysql.sock
我还要提到的是我已经设置了轨道ENV我deploy.rb像这样:set :rails_env, :production
这里是我的Gemfile的培训相关信息:
gem 'mysql2', '~> 0.4.5'
group :development do
gem 'capistrano', '~> 3.6', '>= 3.6.1'
gem 'capistrano-rvm'
gem 'capistrano-bundler'
gem 'capistrano-rails'
gem 'capistrano-passenger'
end
任何人都可以点亮我在这里失踪的东西吗?我是Capistrano新手。
是否有机会在提取最新代码(新文件夹...)时尝试在database.yml正确设置之前运行迁移? – Andreyy
根据日志我不相信发生这种情况,我可以看到它在迁移前6个步骤运行git命令等。 – gwnp