0

Я хочу использовать тестовую базу данных в тестовой среде и производственную базу данных в рабочей среде в своем приложении Python.Использование разных dbs в производственной и тестовой среде

Как я должен обрабатывать маршрутизацию до двух dbs? Должен ли я иметь необработанный файл config.yml, который имеет строку подключения тестового db на моем тестовом сервере и строку соединения производственного db на рабочем сервере?

Я использую github для управления версиями и travis ci для развертывания.

+0

Да - хотя я предпочитаю более читаемые конфигурационные файлы - ваша конфигурация экземпляра должна быть отдельной от вашего приложения. И, возможно, в другом месте, которое обычно используется для вашей системы. Linux особенно любит разделить приложение и конфигурацию. – tdelaney

ответ

0

Возьмем, к примеру, среду Linux. Часто настройка пользовательского уровня приложения помещается под вашей домашней папкой в ​​виде точечного файла. Так что вы можете сделать, это так:

  1. В репозитории Git, отслеживать файл конфигурационного образца, например, config.sample.yaml и поставить структуру конфигурации здесь.
  2. При развертывании в тестовой среде или рабочей среде вы можете скопировать и переименовать этот файл в виде точечного файла, например, $HOME/.{app}.config.yaml. Затем в вашем приложении вы можете прочитать этот файл.

Если вы разрабатываете пакет python, вы можете сделать операцию копирования файла в setup.py. Существуют следующие преимущества:

  1. Вы всегда можете отслеживать изменения структуры конфигурационного файла.
  2. Отдельная конфигурация между испытательной и производственной средой.
  3. Более безопасный, вам не нужно указывать информацию о соединении импорта db в общедоступном файле.

Надеюсь, это было бы полезно.

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

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