#laravel
#laravel
Вопрос:
Для изменения длины и типа столбца я выполнил следующие команды
Мое имя столбца — course_slot_id
have int(11)
, и я хочу его изменить varchar(100)
- composer require doctrine/dbal
- php artisan make:migration modify_course_slot_id_table --table=course_booking
- php artisan migrate
Моя миграция
class ModifyCourseSlotIdTable extends Migration
{
public function up()
{
Schema::table('course_booking', function (Blueprint $table) {
$table->string('course_slot_id', 100)->nullable()->change();
});
}
public function down()
{
Schema::table('course_booking', function (Blueprint $table) {
//...
});
}
}
Когда я запускаю команду migrate, у меня возникает следующая проблема
In AbstractPlatform.php line 434:
Unknown database type enum requested, DoctrineDBALPlatformsMySQL57Platform may not support it.
Комментарии:
1. Добавьте также свой
modify_course_slot_id_table
файл миграции2. Выглядит примерно так: github.com/doctrine/dbal/issues/3161
3. @bhavinjr ниже приведены коды modify_course_slot_id_table
4. класс ModifyCourseSlotIdTable расширяет миграцию { общедоступная функция вверх () { Схема:: таблица (‘course_booking’, функция (схема $ table) { $table-> строка (‘course_slot_id’, 100)-> обнуляемый()-> изменить(); }); } общедоступная функция вниз() { Схема :: таблица (‘course_booking’, функция (схема $ table) { }); } }
5. @cbaconnier Не могли бы вы, пожалуйста, объяснить процесс?