Контекстное тестирование базы данных приложения
Как я могу структурировать свой проект колбы так, чтобы мои модели могли знать, если TESTING
включен (и, следовательно, использовать тестовую базу данных), не имея дело с контекстом приложения или не знакомы с ним.
Я разрабатываю это как проект с открытым исходным кодом, поэтому источник может пролить некоторый свет на это: https://github.com/nficano/jotonce.com/blob/master/jotonce/messages/models.py
1 ответ
Я думаю, что вы столкнулись с этой проблемой, потому что вы не предоставляете пользователям способ указать конфигурацию во время выполнения. Вместо этого, manager.py получает любые настройки, указанные в файле settings.py, не обращаясь к тем настройкам, которые мог указать конечный пользователь.
Так как у вас есть factory.py
, вы могли бы потенциально импортировать current_app
из Flask (при условии, что ваши функции БД вызываются в контексте приложения) и используйте там значение настроек. Если это вариант для вас, Flask предлагает несколько хороших советов для обработки конфигурации.
Если вы используете это вне контекста вашего приложения, я не думаю, что factory.py
в настоящее время структурированный собирается работать на вас. Вам нужно будет обработать свою собственную конфигурацию вручную.
Вы можете взглянуть на https://github.com/Robpol86/Flask-Large-Application-Example/blob/master/pypi_portal/application.py для примера большого проекта колбы, который использует фабрику приложений с различными значениями конфигурации Что ж.
Удачи и счастливых праздников!