Как обновить БД без потери данных в таблицах этих в Laravel?
всякий раз, когда мне нужно добавить поле, другая модификация мне нужно запустить команду php artisan migrate:refresh, но при этом я обновляю БД, но очищаю уже вставленные данные. Есть ли способ обойти это?
3
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