Миграция Laravel: откат, добавление и удаление столбцов таблицы

Я использовал php artisan migrate:make add_something_to_to_user_table --table=users

и закодированы

Schema::table('users', function(Blueprint $table)
{
$table->string('description1');
$table->string('description2');
$table->string('description3');
});

и добавил три поля и дал php artisan migrate и поля были сохранены в базе данных

также обнаружил, что migration table обновляется строкой 2014_11_05_145536_add_something_to_to_user_table

теперь, когда я использую php artisan migrate:rollback

2014_11_05_145536_add_something_to_to_user_table строка в таблице миграции отсутствует, но столбцы добавлены в таблица пользователей остается такой же

почему также не удаляются поля в таблице что приводит к ошибке при использовании php artisan migrate снова…

1

Решение

Вы должны иметь down() метод в вашей миграции, который должен выглядеть следующим образом:

public function down()
{
Schema::table('users', function($table)
{
$table->dropColumn(array('description1', 'description2', 'description3'));
});
}

Это будет вызвано при откате и позаботится об удалении столбцов, добавленных миграцией.

10

Другие решения

добавлять вниз публичная функция, чтобы отбросить пользователи таблица при откате ..

public function down()
{
Schema::drop('users');
}
-1

По вопросам рекламы [email protected]