Mysql2 ::错误:无法在' 127.0.0.1'上连接到MySQL服务器在heroku推

时间:2016-02-24 18:47:34

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 heroku asset-pipeline

当我执行git push heroku master时,它在rake资产预编译时失败,我收到错误Mysql2::Error: Can't connect to MySQL server on '127.0.0.1' heroku

我已经知道 由于我使用的是Rails 4,因此不再需要config.assets.initialize_on_precompile = false,因为不再需要。{/ p>

heroku labs:enable user-env-compile Heroku不再支持此功能。

在网上进行研究后,我了解到解决方案可能就在这里 heroku build pack 但我不明白如何运行这些命令。 我一直在bash: bin/compile: No such file or directory

如何解决此问题?我正在使用Rails 4.2.5,Ruby 2.3.0和Db是本地的Mysql。提前谢谢你。

的database.yml

default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: password
host: localhost

development:
<<: *default
database: respect_development

test:
<<: *default
database: respect_test

production:

   <<: *default
database: respect_production
username: respect
password: <%= ENV['RESPECT_DATABASE_PASSWORD'] %>

2 个答案:

答案 0 :(得分:0)

听起来你的database.yml被配置为使用本地数据库(127.0.0.1),即使在Heroku上也是如此。你database.yml中的内容是什么?我会从git中删除该文件并检查DATABASE_URL的Heroku配置变量。您应该在Heroku上看到对数据库的引用, not 127.0.0.1

答案 1 :(得分:0)

我只需要在本地预编译资产reverse,然后将其推送rake assets:precompile 在我的 environments / production.rb

git push heroku master

我也把它添加到我的Gemfile

config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?