У столбца изменения в таблице есть тип enum в postgres - PullRequest
0 голосов
/ 17 сентября 2018

Это мой код:

public function up()
{
    Schema::table('organization_user', function (Blueprint $table) {
        $table->renameColumn('company_id', 'organization_id');
    });
}

Я хочу переименовать столбец в таблице. И в этой таблице есть столбец типа enum. Но ошибки: запрошен неизвестный тип базы данных company_roles, Doctrine \ DBAL \ Platforms \ PostgreSQL100Platform может
не поддерживаю это. Я использую Laravel 5.6

1 Ответ

0 голосов
/ 17 сентября 2018

Эта проблема может быть связана с тем, что упоминается в Документах Laravel "Вы не можете переименовывать столбцы в таблице типа enum". См .: enter image description here

Боюсь, что это проблема 5-летней давности с Doctrine / DBal, которую использует Laravel, см. [Bug] Построитель схемы - переименование столбца завершается ошибкой в ​​таблице со столбцами перечисления Но один из обходных путей также существует на отчет о той же проблеме DB Query . Для справки я выложу это здесь:

DB::statement("ALTER TABLE table_name MODIFY COLUMN column_name ENUM('Here','is','choices')");

В этом случае вам нужно предоставить правильную инструкцию в функции down() вашего файла класса миграции для восстановления состояния таблицы.

...