Как я могу установить базу данных по умолчанию в 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,

Другие вопросы по тегам