Ищете способ чисто переопределить значения databases.yml в Doctrine / Symfony, чтобы использовать мои собственные локальные настройки?
Идея не затрагивает databases.yml и использует какой-то локальный неверсированный файл, чтобы переопределить это значение по умолчанию.
Я пытаюсь выяснить, как без особого успеха: /
Для такого конфигурационного файла, который содержит материал, зависящий от среды (dev, testing, staging, production, …) , я обычно использую один файл для каждой среды, и все они привязаны к источнику-контролю.
Например, я мог бы:
databases.yml
== версия разработки, которая будет работать, когда проект будет извлечен из источника-контроля на компьютере разработки. databases.testing.yml
databases.staging.yml
databases.production.yml
Затем, создавая .tag.gz
(или аналогичный), который будет развернут в другую среду, я .tag.gz
файл, соответствующий назначению, по умолчанию.
Например, при создании архива, который будет развернут на рабочем сервере, я копирую databases.production.yml
databases.yml
databases.production.yml
в databases.yml
в архиве.
Таким образом, приложение всегда использует databases.yml
, независимо от того, в какой среде оно развертывается, и все возможные конфигурации выполняются для управления исходным кодом.
Конечно, это работает намного лучше, если у вас есть процесс упаковки / сборки – и не просто загружайте файл на серверы через FTP вручную …
Обычно я добавляю database.yml в svn: ignore и вместо этого выполняю database.yml.sample.
Локальная копирует базу данных.yml.sample как database.yml и добавляет свои собственные значения.
Таким образом, файл database.yml не может быть случайно выполнен.