Отразятся ли миграции, которые я делаю в приложении django, на БД, которая присутствует в Kubernetes?
У меня есть приложение Django, и я использую MariaDB в качестве базы данных. Оба они были развернуты в пространстве имен на kubernetes. Теперь я хочу добавить дополнительное поле, поэтому я внес изменения в файл models.py в приложении django. Эти изменения были сделаны локально - я взял код из GIT и просто внес изменения локально. Обычно, чтобы применить изменения, я должен выполнить manage.py makemigrations
и manage.py migrate
, и все изменения были бы отражены в БД, если бы БД присутствовала локально.
Итак, теперь мои вопросы таковы
- Как я могу применить изменения к MariaDb, которая есть на Kubernetes ? Решит ли эту проблему запуск
- и
manage.py makemigrations
локально и передислокация приложения django на kubernetes ?manage.py migrate
TLDR;
Если вам не нужны многочисленные реплики, то самым простым способом будет запуск миграций при старте контейнера.
Если вам требуется несколько реплик, то вам придется творчески подойти к заданиям и init контейнерам.Здесь есть хорошая статья с дополнительной информацией об этом: https://andrewlock.net/deploying-asp-net-core-applications-to-kubernetes-part-7-running-database-migrations/
.