Эта статья из цикла по типам полей в БД через миграции Yii2. Список статей из этого цикла:
Добавление поля типа VARCHAR и уставновление для него аттрибутов
Не будет уменьшением сказать, что почти большинство типов полей в таблицах — varchar. Для того чтобы добавить поле этого типа в базу используя миграции, достаточно прописать следующий код:
$this->createTable('tableName', [ ... 'username' => $this->string(), ... ]);
По-умолчанию будет создано поле varchar длиной в 255 символов. Если же нам надо другое значение, достаточно его указать, как аргумент метода string()
$this->createTable('tableName', [ ... 'username' => $this->string(50), ... ]);
Значение этого поля по-умолчанию будет NULL. Чтобы сделать это поле не NULL, пропишем следующий код:
$this->createTable('tableName', [ ... 'username' => $this->string(50)->notNull(), ... ]);
Также, мы можем указать какое-то свое значение по-умолчанию:
$this->createTable('tableName', [ ... 'username' => $this->string(50)->notNull()->defaultValue('My custom string'), ... ]);