rails database_url, выходящий из mysql2 url passwod
Поэтому я пытаюсь установить переменную среды для своей базы данных производственной среды rails, как предложено в файле.yml. В моем.bash_profile я экспортирую это так:
export DATABASE_URL=mysql2://<username>:<password>@localhost/<database>
Я иду на свой сайт, и я получаюActiveRecord::AdapterNotSpecified
" ошибка.
Единственное, о чем я могу думать, это то, что мой пароль оканчивается знаком @, что приводит к тому, что у URL будет @@, и он будет сбит с толку, когда заканчивается пароль и начинается хост?
Также это приложение размещено на Hostmonster, если это поможет
database.yml:
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: <username>
password: <password>
database: <database>
development:
<<: *default
database: <database>
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: <database>
# Avoid production credentials in the repository,
# instead read the configuration from the environment.
#
# Example:
# mysql2://myuser:mypass@localhost/somedatabase
#
production:
url: <%= ENV["DATABASE_URL"] %>
1 ответ
Возможно, вам также потребуется включить часть по умолчанию:
production:
<<: *default
Если ваш пароль имеет @
в нем попробуйте кодировать его для URL:
password%40
Это может быть вещь. Либо так, либо выберите пароль, подходящий для URL.
Как примечание, обычно лучше принимать database.yml
файл для производства исключительно на целевом сервере, а затем вставьте символическую ссылку при развертывании приложения.