Здравствуйте!
Встречал инструменты для создания миграций, например artisan в Laravel или db-migrate для NodeJS, но никак не пойму их смысл, если, например, можно просто создать файл с sql запросами на создание таблиц и не мучаться.
Что скажете?
Миграции нужны для того, чтобы через GIT или просто через файлы проекта передать изменения состояния БД
Вам проще руками что-то делать, а теперь ситуации:
1.Командная работа
Не в чате же каждый раз пересылать инфу всем коллегам, что вы поменяли :)
2. Работа с несколькими проектами на одной кодовой базе
3.Туда-сюда изменения
Я например в этих ситуациях бываю каждый час работы.
Итог
Миграции — передача состояния БД (с инструкциями отката состояний), которая гарантирована описана и может передваться через контроль версий или просто с кодом.
Откат или накат их можно добавить в автодеплой, и когда вы решили выкатить релиз, все само делается — гит подтянулся, миграции накатились, релиз выкатился
Отдельное преимущество:
Как правило имена миграций содержат дату в точности до миллисекунды, что позволяет системе понимать какую миграцию в какой очередности делать, если вы сделаете изменения через sql файлики — вам нужно будет решить проблему очереди, например когда новый сотрудник из ГИТ захочет развернуть проект, в какой очередности ему их грузить?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей