2015-09-01 29 views
4

我必須在yii2遷移中指定一個未簽名的列。從手動在MIgrations中使用Schema Builder Trait時指定無符號屬性?

public function up() 
{ 
    $this->createTable('news', [ 
     'id' => $this->primaryKey(), 
     'title' => $this->string()->notNull() 
    ]); 
} 


實例遷移代碼從我做那裏的研究似乎並沒有被添加在架構構建性狀無符號的能力的方法。

但是有沒有其他方法可以將無符號屬性添加到列,同時仍然使用schemaBuilderTrait樣式方法?

例如在$this->string()上述返回yii\db\ColumnSchemaBuilder的實例,但是,這並不甚至有一個屬性來設置簽名/籤..

回答

6

不幸的是,有些事情是不可能的新移民的語法來寫。

在這種情況下可以使用字符串連接這樣的:

'title' => $this->string()->notNull() . ' UNSIGNED', 

或者您可以使用舊的語法(向後兼容性觀察):

use yii\db\Schema; 

... 

'title' => Schema::TYPE_STRING . ' NOT NULL UNSIGNED', 

P.S.您可以發佈有關此問題的官方框架回購問題。

更新:它已經實施,使用->unsigned()方法。請注意,您需要更新框架。謝謝leitasat的信息。

+1

謝謝你的回答!我將使用連接方法。 –

2

以防萬一:他們did it

現在,你可以添加->unsigned()到你的定義。