В документации Laravel сказано, что миграции - это тип контроля версий для БД, но я не очень понял как это всё работает и как этим правильно пользоваться
Насколько я понимаю, миграции помогают разработчикам поддерживать единую СТРУКТУРУ БД
Например, один программист пишет каталог товаров, второй авторизацию. Один насоздавал полей в таблице products, второй насоздавал полей в таблице users. Всё это они провернули через миграции, написав свой код, запушили, ушли отдыхать. Утром каждый из них обновил репозиторий, подтянул изменения друг друга, применил миграции и теперь у обоих одинаковая структура БД. Тут более-менее всё понятно.
Но как насчёт данных?
Один программист вчера помимо всего прочего насоздавал новых товаров в базе, второй новых пользователей. Структуры БД они обновили, а вот данные у каждого свои. Один сидит с заполненными товарами и пустыми юзерами, второй наоборот. Какой-то недоделанный контроль версий получается.
Тут речь идёт про начальные данные, грубо говоря тестовые. Мой же вопрос о реальных данных. Например я поменял настройки проекта, хранящиеся в БД, эти настройки существенно влияют на вывод данных. Как об этих изменениях узнает второй разработчик?
Таких ситуаций лучше вообще избегать. Решаться проблема может по разному, в некоторых случаях ничего не мешает вынести в миграции и изменение самих данных если уж действительно есть такая необходимость.