Rails 未在生产环境中解析数据库 URL
Rails not parsing database URL on production
我有以下 database.yml 文件:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 4 } %>
development:
<<: *default
database: backoffice_authentication_development
test:
<<: *default
database: backoffice_authentication_test
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
我有一个 DATABASE_URL 类似于 postgresql://user:passwrd@backoffice.xxxxxxxx.xxxxx.rds.amazonaws.com/backoffice_api
当我尝试在生产环境中启动我的应用程序时出现此错误:
2017-06-12T08:23:37.054417906Z Initialising & migrating DB
2017-06-12T08:23:38.381585952Z rake aborted!
2017-06-12T08:23:38.381700163Z URI::InvalidURIError: bad URI(is not URI?): 'postgresql://user:passwrd@backoffice.xxxxxxxx.xxxxx.rds.amazonaws.com/backoffice_api'
在其他一些异常行之后:
2017-06-12T08:23:38.382052715Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `require'
2017-06-12T08:23:38.382055762Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:6:in `<class:MySQLDatabaseTasks>'
2017-06-12T08:23:38.382058788Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:3:in `<module:Tasks>'
2017-06-12T08:23:38.382061748Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:2:in `<module:ActiveRecord>'
2017-06-12T08:23:38.382064754Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:1:in `<top (required)>'
2017-06-12T08:23:38.382067605Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `require'
2017-06-12T08:23:38.382070389Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `block in require'
2017-06-12T08:23:38.382073112Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:259:in `load_dependency'
我显然没有使用 MySQL,如果在我的机器上使用 URL,它就可以工作!有什么问题吗?
尝试
url: <%= URI.encode(ENV['DATABASE_URL'] )%>
我有以下 database.yml 文件:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 4 } %>
development:
<<: *default
database: backoffice_authentication_development
test:
<<: *default
database: backoffice_authentication_test
production:
<<: *default
url: <%= ENV['DATABASE_URL'] %>
我有一个 DATABASE_URL 类似于 postgresql://user:passwrd@backoffice.xxxxxxxx.xxxxx.rds.amazonaws.com/backoffice_api
当我尝试在生产环境中启动我的应用程序时出现此错误:
2017-06-12T08:23:37.054417906Z Initialising & migrating DB
2017-06-12T08:23:38.381585952Z rake aborted!
2017-06-12T08:23:38.381700163Z URI::InvalidURIError: bad URI(is not URI?): 'postgresql://user:passwrd@backoffice.xxxxxxxx.xxxxx.rds.amazonaws.com/backoffice_api'
在其他一些异常行之后:
2017-06-12T08:23:38.382052715Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `require'
2017-06-12T08:23:38.382055762Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:6:in `<class:MySQLDatabaseTasks>'
2017-06-12T08:23:38.382058788Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:3:in `<module:Tasks>'
2017-06-12T08:23:38.382061748Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:2:in `<module:ActiveRecord>'
2017-06-12T08:23:38.382064754Z /usr/local/bundle/gems/activerecord-5.0.2/lib/active_record/tasks/mysql_database_tasks.rb:1:in `<top (required)>'
2017-06-12T08:23:38.382067605Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `require'
2017-06-12T08:23:38.382070389Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in `block in require'
2017-06-12T08:23:38.382073112Z /usr/local/bundle/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:259:in `load_dependency'
我显然没有使用 MySQL,如果在我的机器上使用 URL,它就可以工作!有什么问题吗?
尝试
url: <%= URI.encode(ENV['DATABASE_URL'] )%>