@muhasa

Почему рекомендуется для каждой таблицы делать свой файл миграции?

Посмотрел несколько уроков по миграциям, в частности - phinx, сделал вывод, что для каждой таблицы пилят свой класс миграции. Но насколько это адекватно на первом шаге, когда ты запиливаешь 20 таблиц для проекта на этапе разработки и можешь хоть по 10 раз туда-сюда менять, пока проект не выкачен на боевой сервак?.. В чем подвох, если я запилю один файл с инициализацией 20 таблиц и уже если что-то придется менять, то на каждое изменение уже на боевом сервере делаю файлик миграции?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 2
@sidni
Php Developer
Тут нужно понять сам принцип миграций. Первоначальный сетап базы можете запилить 100 таблиц (если у вас есть готовая структура и вы хотите просто перевести на ее миграции и не таскать все время дамп) в одном файле это дело вкусовщины если файл покажется длинным можете разбить его по функциональности в этом файле миграции все что связано с кастомерами в этом с продуктами и тд если и эти файлы тяжело просматривать тогда каждая таблица один класс миграции.
Но потом класс миграции должен появляться на каждый чих в бд в частности пять человек пилят задачи и если в рамках задачи надо что то поменять в бд делают класс миграции. Чтоб после обновления локальных копий комманд не искать актуальную версию бд а выполнить миграцию.
Ответ написан
Комментировать
DevMan
@DevMan
потому что это удобно.
причина такая же почему классы пишут в отдельных файлах, а не одном: открываешь файл и сразу все видишь, а не скролишь/ищешь.

когда проектируешь/тестируешь, миграции вообще не нужны, пилишь базу напрямую.
когда нашел приемлемый вариант, написал миграции. или вообще сгенерировал их автоматом из существующей базы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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