2016-05-17 6 views
2

整数列の明示的な長さをPhinxの移行addColumn()メソッドで設定できるかどうか教えてください。Phinxの移行 - 整数列の明示的な長さ

文書ではのような制限オプションをMysqlAdapter::INT_REGULARと使用しますが、列の長さを自動的に設定します。 int(10)

外部キー列の場合など、int(11)が必要な場合はどうすればよいですか?

Thx。

答えて

1

私が理解したように、limit optionMysqlAdapter::INT_REGULARは、Phinxの定義済みタイプのようなものです。しかし、独自のlimit変数を使用することもできます。ここで

は一例です。

// using Phinx 0.5.4 
public function change() { 
    $table = $this->table('papers'); 
    $table->addColumn('user_id', 'integer', ['limit' => 2]) 
     ->addColumn('book_id', 'integer') // by default will be int(11) 
     ->addColumn('bank_id', 'integer', ['limit' => 32]) 
     ->create(); 

}

MySQLは結果について説明します。より多くの情報を取得するには

+---------+---------+------+-----+---------+----------------+ 
| Field | Type | Null | Key | Default | Extra   | 
+---------+---------+------+-----+---------+----------------+ 
| id  | int(11) | NO | PRI | NULL | auto_increment | 
| user_id | int(2) | NO |  | NULL |    | 
| book_id | int(11) | NO |  | NULL |    | 
| bank_id | int(32) | NO |  | NULL |    | 
+---------+---------+------+-----+---------+----------------+ 

getPhinxType()機能のgetSqlType()source codesource codeを確認してください。

関連する問題