использование колб-мигрантов в производстве - PullRequest
0 голосов
/ 26 мая 2018

Этот вопрос касается схемы использования flask-migrate, когда наступает время развертывания.Чтобы настроить сервер или Docker-контейнер с вашим приложением, вам необходимо создать базы данных.

Обычно, как в https://github.com/miguelgrinberg/flasky, папка миграций находится в корне проекта.Это имеет смысл, но это означает, что в производственной среде папка миграции недоступна, если вы извлекаете приложение фляги как установленный пакет.

Правильный шаблон для копирования папки миграции в контейнер и запускаобновить там или что-то еще целиком?Это кажется неудобным, потому что мне придется синхронизировать миграции с версией приложения, которую я извлекаю из репозитория пакета python.Я знаю, что можно полностью отказаться от миграции и просто сделать db.create_all(), но если это ответ, то я могу быть смущен целью миграции db.

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете включить файлы в пакет в два этапа:

1.set include_package_data до True в setup.py:

from setuptools import find_packages, setup

setup(
    name='myapp',
    version='1.0.0',
    packages=find_packages(),
    include_package_data=True,  # <--
    zip_safe=False,
    install_requires=[
        'flask',
    ],
)

2.Включить файлшаблон в MANIFEST.in:

graft myapp/static
graft myapp/templates
graft migrations  # <--

Эти файлы будут включены при сборке пакета.См. здесь для получения полной команды MANIFEST.in.

...