Есть ли возможный способ запустить команду ремесленника, чтобы обновить базу данных без каких-либо потерянных данных?
В моей прошлой работе, Laravel с Propel может сделать базу данных, но не теряет реальные данные с propel:migration:diff
,
Во всяком случае, при использовании laravel default artisan migrate он может сделать то же самое?
По определению, обновление базы данных (php artisan migrate:refresh
) означает, что вы удаляете все данные.
Идея состоит в том, что вы откатываетесь и перезапускаете все свои миграции, что, вероятно, будет означать, что ваша схема немного изменилась, если не существенно, и, следовательно, текущие данные в вашей базе данных могут не соответствовать новой схеме (и если это так тогда почему бы тебе освежиться).
Лучшим подходом является добавление в ваши миграции для изменения столбцов и таблиц по мере продвижения в процессе разработки. Фактически, это одно из главных преимуществ наличия такого типа «контроля версий» для вашей БД.
Других решений пока нет …