Как обновить БД без потери данных в таблицах этих в Laravel?


всякий раз, когда мне нужно добавить поле, другая модификация мне нужно запустить команду php artisan migrate:refresh, но при этом я обновляю БД, но очищаю уже вставленные данные. Есть ли способ обойти это?

Author: Shaz, 2017-04-19

1 answers

Проблема в том, что migrate:refresh, как следует из названия, "обновляет" базу данных, запускает все методы down() всех ранее выполненных миграций, а затем запускает все существующие миграции up().


Чтобы добавить или очистить поле или внести какие-либо другие изменения в базу данных (включая удаление таблиц, индексов и т. д.), Вам просто нужно создать новую миграцию:

php artisan make:migration agregar_campo_x

В соответствующем файле миграции можно добавить поле в таблицу существующий так:

Schema::table('usuarios', function (Blueprint $table) {
    $table->string('direccion');
});

Когда ваша миграция готова, вы запускаете ее без дополнительных параметров:

php artisan migrate
 6
Author: Shaz, 2017-04-19 17:08:28