2017-04-04 116 views
1

我有一個正在運行的應用程序,我看到一個表單中的字段不是必需的,可以留空。但通過遷移,數據庫中的該字段被設置爲「不爲空」。我想改變它,所以我通過檢查Null來做到這一點。但我如何做與遷移同樣的事情?我讀文件和創建了這個使用遷移更新列Laravel 5.4

public function up() 
{ 
    Scheme::table('modules', function (Blueprint $table) { 
     $table->text('content')->nullable(); 
    }); 
} 

但是當我運行遷移,它給我的錯誤表已經存在(很明顯,因爲其他遷移文件在那裏)。我應該怎麼做才能達到我的目標。

+0

重複的 - http://stackoverflow.com/questions/24419999/laravel-遷移變化和化妝欄爲空 – Learner

回答

0

更改您的代碼本,並注意->change()部分:

public function up() 
{ 
    Scheme::table('modules', function (Blueprint $table) { 
     $table->text('content')->nullable()->change(); 
    }); 
} 

Documentation on changing columns

注: 你需要爲了教義/ DBAL包這個工作:

在修改列之前,一定要將doctrine/dbal依賴項添加到您的composer.json文件中。 Doctrine DBAL庫用於確定列的當前狀態並創建對列進行指定調整所需的SQL查詢