yii2 Пример миграции с полями в т.ч: decimal, bool (логического), unsigned Not NUll, Defautl value (по умолчанию), внешний ключ


public function safeUp()
{

    //Добавляем все необходимые поля
    $this->createTable($this->tableName, [
        'id' => $this->primaryKey()->notNull(),
        'organization_id' =>  $this->integer()->notNull()
                ->comment('Связь с  организации'),
        'frmo_id' =>   $this->integer()->defaultValue(null)
            ->comment('id здания '),
        'build_name' => $this->string(256)->notNull()
            ->comment('Наименование здания'), // для строк переменной длины, напр. вместо varchar(256)
        'build_year' => $this->date()->notNull()
            ->comment('Год постройки'), // комментарий к полю
        'floor_count' => $this->smallInteger()->unsigned()->notNull()
            ->comment('Этажность (число этажей)'), // беззнаковый тип
        'has_trouble' => $this->smallInteger(1)->unsigned()->notNull()
            ->comment('Имеет ли здание повреждения (да/нет)'), // boolean логический тип
        'building_address' => $this->char(255)->notNull()->comment('Адрес '),
        'postIndex' => $this->char(6)->defaultValue(null)->comment('Почтовый индекс'),
        'latitude' => $this->decimal(9, 6)->defaultValue(null)->comment('Координаты здания (широта)'),
        'longitude' => $this->decimal(9, 6)->defaultValue(null)->comment('Координаты здания (долгота)'),
        'created_at' =>  $this->integer()->defaultValue(null)->comment('Временная метка создания'),
        'update_at' =>  $this->integer()->defaultValue(null)->comment('Временная метка обновления')
        ],
        "COMMENT 'Здание организации'"
    );


    // Добавляем foreign key
    $this->addForeignKey(
            'FK_organization_id',  // это "условное имя" ключа
            'organization_building', // это название текущей таблицы
            'organization_id', // это имя поля в текущей таблице, которое будет ключом
            'organization', // это имя таблицы, с которой хотим связаться
            'id', // это поле таблицы, с которым хотим связаться
            'CASCADE', // что делать при удалении сущности, на которую ссылаемся
            'CASCADE'  // что делать при обновлении сущности, на которую ссылаемся
    );

}


/**
 * @inheritdoc
 */
public function safeDown()
{
	$this->dropTable($this->tableName);
}