mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-31 18:47:33 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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 ?>');
 | |
|     }
 | |
| }
 | 
