migrate錯誤:DBALException : Unknown database type enum requested.

如題

剛要變更資料表結構時候,發生了這個錯誤…

練習著習慣 Laravel 的 Migration 資料遷移機制(因為有資料庫版控)

剛建好表,嗯嗯!正常 … 啊~忘了加上可以 null 值,於是正好練習寫 migration change()

 

另註. change 必須依賴 DBAL 包,所以先 composer require 進來吧(會有點慢跟卡,不是當機喔)

composer require doctrine/dbal

 

寫好

$table->string('name', 255)->nullable(true) ...

 

後,執行 migrate … 噹噹~人總是在意外中學習阿~~

Doctrine\DBAL\DBALException  : Unknown database type enum requested .....

 

這個 DBALException 的錯誤,大致上是講不支援 enum 資料形態(因為該表我有用到 enum )

查找了一下資料,因為 migration change 依賴 DBAL套件 ,但 DBAL 似乎不支援 enum 形態,需要另外註冊

所以填入註冊方式後就可以用了

 

在 function up() 內加上後,重新 migrate 就 OK 囉!

Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');

 

回應文章

作者

A-One

我只是單純喜歡碎碎唸~