2010-07-13 2 views
2

Ищете способ чисто переопределить значения databases.yml в Doctrine/Symfony, чтобы использовать мои собственные локальные настройки?Как вы переопределяете базу данных по умолчанию вашей команды по умолчанию в Doctrine для использования ваших локальных настроек?

Идея не касается базы данных.yml и использование какого-либо локального файла без вершин для переопределения этого значения по умолчанию.

Я пытаюсь выяснить, как без особого успеха еще:/

ответ

1

Для этого типа файла конфигурации, который содержит материал, который зависит от окружающей среды (DEV, тестирование, постановка, производство, ...), я обычно использую один файл для каждой среды, и все они привязаны к источнику-контролю.

Например, я мог бы иметь:

  • databases.yml == разрабатываемая версия, которая будет работать, когда проект будет извлечен из системы управления версиями на компьютере разработчика.
  • databases.testing.yml
  • databases.staging.yml
  • databases.production.yml


Затем при создании (или аналогичный) архив .tag.gz, который будет развернут в другую среду, скопировать файл, который соответствует пункт назначения - по умолчанию.

Например, при создании архива, который будет развернут на рабочем сервере, я копирую databases.production.yml в databases.yml в архив.

Таким образом, приложение всегда использует databases.yml, независимо от того, в какой среде оно развернуто, и все возможные конфигурации выполняются с помощью источника.


Конечно, это работает намного лучше, если у вас возникли некоторые упаковки процесс/сборки - и не просто загрузить файл на серверы с помощью FTP вручную ...

+0

Спасибо за быстрый ответ. Вы полезны, но не в этом конкретном случае. Я прошу указать способ локального переопределения управляемых версиями баз данных.yml во время разработки. Для развертывания это не проблема для его редактирования и ввода правильных значений. – gnrfan

+0

Ну, при разработке, я использую default databases.yml, который находится под контролем источника - нет необходимости переопределять что-либо, таким образом * (и без риска совершить то, что не должно быть) * –

+0

Идея пришел с тех пор, как я также развился с Django. Так как setup.py - это просто модуль Python, вы пытаетесь импортировать файл local_settings.py, и если он успешно импортирован, вы получите локальные изменения, применяемые к конфигурации. Разумеется, settings.py имеет версию и local_settings.py не вернётся. Я ищу что-то подобное. – gnrfan

0

Я обычно добавить database.yml в svn: игнорировать и вместо этого выполнять database.yml.sample.

Локальная копирует базу данных.yml.sample как database.yml и добавляет свои собственные значения.

Таким образом, файл database.yml не может быть случайно установлен.

 Смежные вопросы

  • Нет связанных вопросов^_^