Reputation: 506
I've install dotenv gem
gem 'dotenv-rails', require: 'dotenv/rails-now'
I create .env file with some KEYS=values
Now I want to use values from .env in config/database.yml file.
default: &default
adapter: mysql2
encoding: utf8
pool: 5
host: localhost
port: 3306
socket: /var/run/mysqld/mysqld.sock
development:
<<: *default
database: wallet_development
username: <%= ENV['WALLET_DATABASE_DEVELOPMENT_USER] %>
password: <%= ENV['WALLET_DATABASE_DEVELOPMENT_PASSWORD'] %>
When I run db:create I get error
rake aborted!
SyntaxError: (erb):24: syntax error, unexpected tCONSTANT, expecting ']'
...T_DATABASE_DEVELOPMENT_PASSWORD'] ).to_s); _erbout.<< "\n\n#...
...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):32: syntax error, unexpected tCONSTANT, expecting ')'
... ENV['WALLET_DATABASE_TEST_USER'] ).to_s); _erbout.<< "\n p...
... ^~~~~~~~~~~~~~~~~~~~~~~~~
(erb):33: syntax error, unexpected tCONSTANT, expecting ')'
...['WALLET_DATABASE_TEST_PASSWORD'] ).to_s); _erbout.<< "\n\n#...
... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):52: syntax error, unexpected tCONSTANT, expecting ')'
... _erbout.<<(( ENV['DATABASE_URL'] ).to_s); _erbout.<< "\n#\n...
... ^~~~~~~~~~~~
(erb):57: syntax error, unexpected tCONSTANT, expecting ')'
...WALLET_DATABASE_PRODUCTION_USER'] ).to_s); _erbout.<< "\n p...
...^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):58: syntax error, unexpected tCONSTANT, expecting ')'
...ET_DATABASE_PRODUCTION_PASSWORD'] ).to_s); _erbout.<< "\n".f...
...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(erb):59: unterminated string meets end of file
; _erbout
^
(erb):59: syntax error, unexpected end-of-input, expecting ')'
; _erbout
^
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/railties-5.2.1/lib/rails/application/configuration.rb:172:in `database_configuration'
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/activerecord-5.2.1/lib/active_record/railtie.rb:39:in `block (3 levels) in <class:Railtie>'
/home/kru0096/.rvm/gems/ruby-2.4.1/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:create => db:load_config
(See full trace by running task with --trace)
What am I doing wrong?
Upvotes: 0
Views: 1176
Reputation: 5343
You are missing a tick ': ENV['WALLET_DATABASE_DEVELOPMENT_USER]
should be ENV['WALLET_DATABASE_DEVELOPMENT_USER']
.
Upvotes: 4