Я пытаюсь добавить опцию перечисления в таблицу (без потери текущего набора данных) с помощью построителя схемы.Laravel Migration - Update Enum Options
Единственное, что я действительно смог найти об изменении столбца, - 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» не имеет метода «запрос».
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');
});
но это ошибки, говоря столбец уже существует.
Каков наилучший способ сделать то, что я пытаюсь сделать, не потеряв все данные в этой колонке?
я думаю, что все не хватает только -> изменение(); – antirealm
это был laravel 4.2, так что теперь все по-другому. – Lisa