@KuzmenkoArtem

Контроль данных и миграции в laravel?

Случилась такая ситуация:
В моем laravel проекте есть миграции которые создают таблицы
Также есть seeds которые заполняют данными эти таблицы.

Сейчас мне нужно добавить в базу новую строку которая зависит уже от существующей (которая добавляется в seeds). Как мне это сделать?
То есть с какой проблемой я столкнулся. Если я добавлю новую миграцию в которой я буду добавлять эту строку. То если установить проект с нуля, моя последняя миграции выполниться с ошибкой, так как она зависит от данных которые будут добавляться seeds следующим шагом

Как обычно решаются такие случаи?

P.S. Откатить все изменения и создать заново все миграции и сиды нельзя т.к. есть еще другие программисты которые пишут в этом проекте. Нужно что бы они безбоязненно стянули изменения и при этом новый запуски проекта тоже могли быть

UPD: Вопрос решен
В целом я понял, что нужно создать новый сид и запустить его отдельно, и что бы при установки новые данные тоже попали в базу нужно добавить этот сид в DatabaseSeeder.php.
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 2
@kirill-93
Непонятно. Какое отношение seed имеет к миграциям? Миграции меняют структуру таблиц, сиды заполняют таблицы информацией. Как добавление нового поля может конфликтовать с данными в другом поле?
Ответ написан
ajaxtelamonid
@ajaxtelamonid
Laravel
Если я добавлю новую миграцию в которой я буду добавлять эту строку. То если установить проект с нуля, моя последняя миграции выполниться с ошибкой, так как она зависит от данных которые будут добавляться seeds следующим шагом

Ошибка была допущена раньше, когда вы (ваша команда) поместили эти данные в сид. Какие-то данные надо добавлять в БД в миграциях, это абсолютно нормально. Сиды, так как они по сути одноразовые и не версионные, надо использовать очень осторожно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы