75 lines
1.6 KiB
PHP
Executable File
75 lines
1.6 KiB
PHP
Executable File
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "<?php\n";
|
|
if (!empty($namespace)) {
|
|
echo "\nnamespace {$namespace};\n";
|
|
}
|
|
?>
|
|
|
|
use common\components\Migration\SafeMigration;
|
|
|
|
/**
|
|
* Handles the creation of table `<?= $table ?>` which is a junction between
|
|
* table `<?= $field_first ?>` and table `<?= $field_second ?>`.
|
|
*/
|
|
class <?= $className ?> extends SafeMigration
|
|
{
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function safeUp()
|
|
{
|
|
$this->createTable('<?= $table ?>', [
|
|
'<?= $field_first ?>_id' => $this->integer(),
|
|
'<?= $field_second ?>_id' => $this->integer(),
|
|
'PRIMARY KEY(<?= $field_first ?>_id, <?= $field_second ?>_id)',
|
|
]);
|
|
|
|
$this->createIndex(
|
|
'idx-<?= $table . '-' . $field_first ?>_id',
|
|
'<?= $table ?>',
|
|
'<?= $field_first ?>_id'
|
|
);
|
|
|
|
$this->createIndex(
|
|
'idx-<?= $table . '-' . $field_second ?>_id',
|
|
'<?= $table ?>',
|
|
'<?= $field_second ?>_id'
|
|
);
|
|
|
|
$this->addForeignKey(
|
|
'fk-<?= $table . '-' . $field_first ?>_id',
|
|
'<?= $table ?>',
|
|
'<?= $field_first ?>_id',
|
|
'<?= $field_first ?>',
|
|
'id',
|
|
'CASCADE'
|
|
);
|
|
|
|
$this->addForeignKey(
|
|
'fk-<?= $table . '-' . $field_second ?>_id',
|
|
'<?= $table ?>',
|
|
'<?= $field_second ?>_id',
|
|
'<?= $field_second ?>',
|
|
'id',
|
|
'CASCADE'
|
|
);
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function safeDown()
|
|
{
|
|
$this->dropTable('<?= $table ?>');
|
|
}
|
|
}
|