Я пытаюсь добавить опцию enum в таблицу (без потери текущего набора данных) с помощью построителя схемы.
Единственное, что я действительно смог найти об изменении столбца, это http://www.flipflops.org/2013/05/25/modify-an-existing-database-column-in-a-laravel-migration/ и Я считаю, что это было написано для Laravel3.
Несмотря на это, я попытался использовать DB :: query ('ALTER TABLE...'); команда, но с ошибкой call_user_func_array() ожидает, что параметр 1 является допустимым обратным вызовом, класс 'Illuminate\Database\MySqlConnection' не имеет метода 'query'.
DB::query("ALTER TABLE users CHANGE COLUMN permissions permissions ENUM('admin', 'user', 'candidate')");
Я также попытался сделать это:
Schema::table('users', function ($table) {
$table->enum('permissions', array('admin', 'user', 'candidate'))->default('user');
});
но он ошибается, говоря, что столбец уже существует.
Какой лучший способ сделать то, что я пытаюсь сделать, не теряя все данные в этом столбце?