Phinx 移行addColumn()
メソッドを使用して整数列の明示的な長さを設定できるかどうか教えてください。
ドキュメントはMysqlAdapter::INT_REGULAR
likeで limit オプションを使用します['limit' => MysqlAdapter::INT_SMALL, 'signed' => false]
が、列の長さを自動的に設定しますint(10)
。
int(11)
しかし、たとえば外部キー列が必要な場合はどうすればよいですか?
どうも。
Phinx 移行addColumn()
メソッドを使用して整数列の明示的な長さを設定できるかどうか教えてください。
ドキュメントはMysqlAdapter::INT_REGULAR
likeで limit オプションを使用します['limit' => MysqlAdapter::INT_SMALL, 'signed' => false]
が、列の長さを自動的に設定しますint(10)
。
int(11)
しかし、たとえば外部キー列が必要な場合はどうすればよいですか?
どうも。
私が理解しているように、 limit オプション MysqlAdapter::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 | |
+---------+---------+------+-----+---------+----------------+
詳細については、ソース コードと関数のソースコードを確認してください。getSqlType()
getPhinxType()