Rails not parsing database URL on production
Asked Answered
F

1

2

I have the following database.yml file:

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'] %>

and I have a DATABASE_URL on production similar to postgresql://user:[email protected]/backoffice_api

when I try start my app on production I get this error:

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:[email protected]/backoffice_api'

and after some other exception lines:

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'

I'm obviously not using MySQL and if use that URL on my machine, it works! what could be wrong?

Flournoy answered 12/6, 2017 at 8:30 Comment(0)
M
4

Try

url: <%= URI.encode(ENV['DATABASE_URL'] )%>
Maribelmaribelle answered 12/6, 2017 at 9:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.