テクニカル雑記帳です
larave5.5 Unknown database type enum requested を解決できた
↓この記事、解決しました!!
ドキュメントが間違っていました。
enumカラムの名前の変更はサポートされていないと書いてありましたが、実際にはenumカラムを含むテーブル上の任意のカラムの名前を変更したときにエラーが発生します。
そしてこれには回避策がありました。
Doctrine に enum が文字列であることを伝えればよいです。
$platform = Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('enum', 'string');
これをこんな感じでいれてあげればOK
public function up()
{
// enum を string 扱いするように指示する
$platform = Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('enum', 'string');
// カラム名を変更
Schema::table('animals', function (Blueprint $table) {
$table->renameColumn('Lion', 'Cat');
});
// string型へ変更
Schema::table('newsBotPrograms', function (Blueprint $table) {
$table->string('Cat')->change();
});
}
解決はできたけど、バグのようなので「update で解決されるといいね」というものらしい。