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);
}