Как я могу установить базу данных по умолчанию в Rails?
У меня есть приложение, которое использует две базы данных. Сейчас я в среде разработки. Как я могу установить базы данных для каждой среды по умолчанию в Rails? Мой database.yml выглядит так:
database1_dev:
adapter: mysql2
host: localhost
database: db1
user: root
password: asdf
pool: 5
timeout: 5000
database2_dev:
adapter: mysql2
host: localhost
database: db2
user: root
password: asdf
pool: 5
timeout: 5000
1 ответ
Вам нужно настроить отдельную среду. По умолчанию в новом проекте рельсы настраиваются на испытания, производство и разработку. Вам нужно настроить development_2, или постановку, или что-то, что адекватно описывает то, что вы делаете.
В вашем проекте рельсов в config/environments
скопируйте файл разработки в новый файл с именем, которое вы используете для своей среды.
Тогда в вашем database.yml
файл, убедитесь, что есть запись с именем для соответствия каждой среде. Так что если у вас есть разработка и развитие_2, то ваши записи должны быть:
development:
adapter: mysql2
host: localhost
database: db1
user: root
password: asdf
pool: 5
timeout: 5000
development_2:
adapter: mysql2
host: localhost
database: db2
user: root
password: asdf
pool: 5
timeout: 5000
По умолчанию, когда вы запускаете приложение rails, оно будет в разработке, так что уже выбирается development
База данных из вашего файла YML.
Теперь, когда вы захотите работать в альтернативной среде, вы просто скажете rails, что env development_2
, если вы используете rails server
команда вместо этого будет
rails server -e development_2
Обратите внимание, что эта новая среда может разбить некоторые драгоценные камни, которые трудно работать только для staging
, test
, production
а также development
,