@pantsarny

Как создавать миграцию SQL с Git коммитом?

Добрый день, коллеги. Хотел бы поинтересоваться у вас, как вы "цепляете" необходимый sql к git-коммитам? Ситуация - небольшая команда разработчиков, с выполненной задачей (php) в git уходит коммит, но в задаче могли быть изменения в структуре бд (mysql). Как вы создаете миграции, привязанные к коммитам?
  • Вопрос задан
  • 1535 просмотров
Решения вопроса 1
copist
@copist
Empower people to give
На примере фреймворка Yii
www.yiiframework.com/doc/guide/1.1/ru/database.mig...
www.yiiframework.com/doc-2.0/guide-db-migrations.html
www.youtube.com/watch?v=cugnRoZ1ick&feature=youtu.be

Миграции - это классы на PHP. Они размещаются в git.
Класс миграций содержит метод для апгрейда (наката) и даунгрейта (отката) изменений.

В базе данных есть таблица с списком установленных файлов миграций.
При установке или обновлении проекта, специальная команда выполняет анализ директории с файлами миграций (их может быть несколько), сверяет с таблицей.
Предлагает установить (накатить) те файлы миграций, которых нет в базе.

Можно попросить отменить (откатить) изменение или установить его ещё раз.

В миграции можно и структуру таблица поменять (миграция модели), и данные изменить (миграция данных).

У нас в скрипте установки (на тостере: Какой workflow front-end разработки у вас? ) делается бакап базы перед обновлением и после обновления. Есть ручной скрипт отката, чтобы базу восстанавить.
А в идеальном случае надо постараться так написать код, чтобы он мог без сбоев работать и с старой, и с новой моделью базы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы