rails:heroku ci:mysql2::错误:无法连接到test env的“127.0.0.1”(111)上的mysql服务器

cyej8jka  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(881)

我已经在heroku上部署了一个rails应用程序,使用远程服务器上托管的mysql数据库。为此,我添加了heroku插件'cleardb',并设置了正确的env config vars,指定:

DATABASE_URL = mysql2://user:password@host?reconnect=true

我还为三个分支(分支->环境)设置了heroku连续部署

develop -> devint,
staging -> staging,
master -> production

连续部署工作正常,数据库的设置也很好(因为当我在rails应用程序中创建一个记录时,我可以在远程mysql主机中看到数据)。
我的问题是,当我启用heroku ci时,每次构建都会失败,错误是 Mysql2::Error: Can't connect to MySQL server on '127.0.0.1' (111) 此处出现完全错误:https://gist.github.com/siddhantbhardwaj/dab7c435815e7729d0f70081449f21ff#file-注册表文件1 txt
当heroku ci试图执行 rake db:schema:load_if_ruby 对于:测试环境
my database.yml看起来像:

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
  <<: *default
  database: what_course_development
  username: user
  password: password
  socket: /tmp/mysql.sock

test:
  <<: *default
  database: what_course_test

devint:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>

staging:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>

production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>
qcuzuvrc

qcuzuvrc1#

请查看以下建议,以便从数据库url配置您的database.yml:

DatabaseUrl.to_active_record_hash('postgres://uuu:xxx@127.0.0.1:1234/abc')

这将提供以下结果:

{:adapter=>"postgres", :host=>"127.0.0.1", :port=>1234, :database=>"abc", :user=>"uuu", :password=>"xxx"}

有关详细信息,请参阅seamusabshere数据库\u url。

相关问题