Подскажите пожалуйста, если возможно установить явную длину целочисленного столбца через миграцию Phinx addColumn()
метод?
Документация использует предельную опцию с MysqlAdapter::INT_REGULAR
лайк ['limit' => MysqlAdapter::INT_SMALL, 'signed' => false]
но он автоматически устанавливает длину столбца, например int(10)
,
Но что мне делать, если мне нужно int(11)
например, для столбца внешнего ключа?
Спасибо.
как я понял опция ограничения 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()
функции.
Других решений пока нет …