3

我试图在生产服务器上部署 ror 应用程序然后得到这个错误:

用户'root'@'localhost'的访问被拒绝(使用密码:YES)(Mysql::Error)

但是当我运行命令时:

rake db:migrate RAILS_ENV=production

它通过了。我还从命令行连接到 mysql:

mysql -u 根目录 -p

它通过了,我可以看到所有表都已创建。

我在一个分支上工作,在我的 deploy.rb 中我已经设置了分支:

设置:分支'myBranch'

在 apache2 配置文件中,我也设置了 rails_env:

<虚拟主机 *:80>
  服务器名称 daemon.com
  DocumentRoot /home/hy/work/log/current/public/
  RailsEnv 生产
</虚拟主机>

请帮忙,谢谢!

4

2 回答 2

0

你可能已经经历过这个,但我建议你仔细检查你的 config/environments/production.yml 是否包含有效的凭据并被推送到存储库中。

您提到您已尝试在服务器上手动进行迁移。您是否从当前部署的应用程序所在的同一目录运行迁移?

(/home/hy/work/log/current)

于 2011-03-22T12:33:22.343 回答
0

我知道这很旧,但是您需要做的是在 deploy.rb 文件中设置 default_env 并设置环境变量。

像这样的东西:

set :default_env, { 
  'var1' => 'value1',
  'var2' => 'value2'
}

这将适用于 Capistrano 3。希望这会帮助任何遇到这个问题的人。

于 2017-03-09T13:06:35.277 回答