2016-01-05 3 views
1

Есть ли способ запустить команду artisan для обновления базы данных без каких-либо потерянных данных?Перенос Laravel без потери реальных данных

В моей прошлой работе laravel with propel может делать базу данных, но не теряет реальных данных с propel:migration:diff.

Как бы то ни было, с помощью laravel default artisan migrate можно ли это сделать так же?

+1

Что вы меняете в своей новой миграции? –

+0

Это может быть полезно 'https: // laravel.com/docs/5.1/artisan # writing-commands' – Marcel

+0

Я просто хочу добавить несколько столбцов в userTable, однако для этого требуется открыть новый datatable.php для вставки в сохранить запись базы данных. Но мне нравится метод схемы propel для базы данных diff и выполняйте миграцию без потери каких-либо данных – EricKwan

ответ

2

По определению обновление базы данных (php artisan migrate:refresh) означает, что вы удаляете все данные.

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

Лучшим подходом является добавление к вашим миграциям для изменения столбцов и таблиц при прохождении через вашу разработку. Фактически, это одно из главных преимуществ наличия такого типа «контроля версий» для вашей БД.