<?php
/**
* This view is used by console/controllers/MigrateController.php
* The following variables are available in this view:
*/
/** @var $migrationName string the new migration class name
* @var $tableAlias string table_name
* @var $tableName string table_name
* @var array $tableColumns
* @var array $tableIndexes
* @var array $tablePk
* @var insolita\migrik\gii\StructureGenerator $generator
*/
echo "<?php\n";
?>
use yii\db\Schema;
use yii\db\Migration;
class <?= $migrationName ?> extends Migration
{
public function init()
{
$this->db = '<?=$generator->db?>';
parent::init();
}
public function safeUp()
{
$tableOptions = '<?=$generator->tableOptions?>';
$this->createTable(
'<?= ($generator->usePrefix)?$tableAlias:$tableName ?>',
[
<?php foreach ($tableColumns as $name => $data) :?>
'<?=$name?>'=> <?=$data;?>,
<?php endforeach;?>
],$tableOptions
);
<?php if (!empty($tableIndexes) && is_array($tableIndexes)) : ?>
<?php foreach ($tableIndexes as $name => $data) :?>
<?php if ($name!='PRIMARY') : ?>
$this->createIndex('<?=$name?>','<?=$tableAlias?>',['<?=implode("','", array_values($data['cols']))?>'],<?=$data['isuniq']?'true':'false'?>);
<?php endif;?>
<?php endforeach;?>
<?php endif?>
<?php if (!empty($tablePk)) : ?>
$this->addPrimaryKey('pk_on_<?=$tableName?>','<?=$tableAlias?>',['<?=implode("','", $tablePk)?>']);
<?php endif?>
}
public function safeDown()
{
<?php if (!empty($tablePk)) : ?>
$this->dropPrimaryKey('pk_on_<?=$tableName?>','<?=$tableAlias?>');
<?php endif?>
<?php if (!empty($tableIndexes) && is_array($tableIndexes)) : ?>
<?php foreach ($tableIndexes as $name => $data) :?>
<?php if ($name!='PRIMARY') : ?>
$this->dropIndex('<?=$name?>', '<?=$tableAlias?>');
<?php endif;?>
<?php endforeach;?>
<?php endif?>
$this->dropTable('<?= ($generator->usePrefix)?$tableAlias:$tableName ?>');
}
}
|