Передача конфигурации клиента MySQL в "rails db"

Мне интересно, как передать конфигурацию клиента MySQL в команду "rails db", т.е. параметры конфигурации, которые обычно указываются в командной строке "mysql" в виде флагов или в my.cnf.

В частности:

  • Я хочу установить флаг, sigint-ignore (потому что случайные выходы ctrl-c слишком просты)
  • Я хочу установить пароль БД из переменной env ("rails db", похоже, не смотрит на database.yml)

1 ответ

Решение

rails db - псевдоним для rails dbconsole - использует конфиг в config/database.yml и открывает соответствующий интерфейс командной строки.

Для подключения к mysql базы данных, MySQL указан как адаптер в config/database.yml с adapter: mysql2,

mysql2 adapter обеспечивает чтение из пользовательского файла конфигурации mysql с :default_file а также :default_group параметры; см. https://github.com/brianmario/mysql2

sigint-ignore можно указать следующим образом:

В config/database.yml:

development:
  adapter: mysql2
  database: example_dev
  pool: 5
  username: root
  password:
  default_file: /Users/mahemoff/.my.cnf
  default_group: client

В /Users/mahemoff/.my.cnf:

[client]
sigint-ignore

Установка пароля БД

"rails db", похоже, не смотрит на database.yml)

rails db действительно использует пароль, установленный в database.yml,

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