簡體   English   中英

php artisan上的錯誤遷移了laravel

[英]error on php artisan migrate laravel

我正在使用Laravel,我有遷移功能:

public function up()
{
    Schema::table('articles', function (Blueprint $table) {
        $table->string('article_title',100)->change();
    });
}

當我在我的cmd上'php artisan migrate'時我得到錯誤:

[Doctrine \\ DBAL \\ DBALException]請求未知的數據庫類型枚舉,Doctrine \\ DBAL \\ Platforms \\ MySqlPlatform可能不支持它。

我甚至不使用枚舉! 而且我也沒有任何其他未遷移且具有枚舉的遷移。

列本身不必是枚舉,但表中的任何列都不能枚舉。

以下是Laravel文檔的重命名列部分中的行:

注意:目前不支持使用枚舉列重命名表中的列。

我相信我以前遇到過這個問題。 問題是提供給database migration工廠的Schema類實際上是Doctrine\\DBAL\\Schema類的抽象,而不是直接復制。

當您第一次運行composer install ,您應該安裝幾個“推薦”的依賴項。 沒有人做過,但最終你可能會發現一些小bug並花費數小時才能實現它,只是為了實現嘿......也許我應該嘗試其他可選的依賴項

不要像我一樣。 相反,試試我在下面概述的內容。

您需要直接在"require": {下的composer.json文件中添加"doctrine/dbal": "^2.5", (或者在閱讀時存在任何穩定版本) "require": {

添加該行后,請執行編寫器更新,然后將此行添加到遷移中:

use Doctrine\DBAL\Schema\Schema

執行此操作后,您不應再看到該錯誤。

鏈接到Laravel文檔: 更改列 您需要將doctrine / dbal添加到composer.json文件中。

注意:在更改列之前,請務必將doctrine / dbal依賴項添加到composer.json文件中。

或運行此命令:

composer require doctrine/dbal

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM