Сокращённые названия типов полей в миграциях

24.06.2012

Работу с миграциями в Yii сильно упрощают сокращёные местоимения типов полей, в этой заметке мы и рассмотрим эти сокращения.

Местоимения

- pk: конвертируется в "int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY"
- string: конвертируется в "varchar(255)"
- text: конвертируется в "text"
- integer: конвертируется в "int(11)"
- boolean: конвертируется в "tinyint(1)"
- binary: конвертируется в "blob"

Например, вместо громоздкого:
$this->AddColumn("{{table_name}}", "column_name", "int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY");
можно написать
$this->AddColumn("{{table_name}}", "column_name", "pk");
И эффект будет тот же.
Стоит заметить что Yii "любит" числа длиной в 11 цифр, хотя ничто не мешает вам указать, ручками, большее или меньшее число. Но лучше будет привыкать именно к этому количеству. А тип boolean совсем не логический и не содержит значение true или false. Подразумевается, что вместо них, программист будет использовать числа 0 и 1.