You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.0 KiB
78 lines
2.0 KiB
<?php |
|
/** |
|
* This view is used by console/controllers/MigrateController.php. |
|
* |
|
* The following variables are available in this view: |
|
* @since 2.0.7 |
|
* @deprecated since 2.0.8 |
|
*/ |
|
/* @var $className string the new migration class name without namespace */ |
|
/* @var $namespace string the new migration class namespace */ |
|
/* @var $table string the name table */ |
|
/* @var $field_first string the name field first */ |
|
/* @var $field_second string the name field second */ |
|
|
|
echo "<?php\n"; |
|
if (!empty($namespace)) { |
|
echo "\nnamespace {$namespace};\n"; |
|
} |
|
?> |
|
|
|
use yii\db\Migration; |
|
|
|
/** |
|
* Handles the creation of table `<?= $table ?>` which is a junction between |
|
* table `<?= $field_first ?>` and table `<?= $field_second ?>`. |
|
*/ |
|
class <?= $className ?> extends Migration |
|
{ |
|
/** |
|
* {@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 ?>'); |
|
} |
|
}
|
|
|