mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	Fixed RBAC migration after bad copy-paste
This commit is contained in:
		@ -74,7 +74,7 @@ class m140506_102106_rbac_init extends \yii\db\Migration
 | 
				
			|||||||
            'updated_at' => $this->integer(),
 | 
					            'updated_at' => $this->integer(),
 | 
				
			||||||
            'PRIMARY KEY ([[name]])',
 | 
					            'PRIMARY KEY ([[name]])',
 | 
				
			||||||
            'FOREIGN KEY ([[rule_name]]) REFERENCES ' . $authManager->ruleTable . ' ([[name]])'.
 | 
					            'FOREIGN KEY ([[rule_name]]) REFERENCES ' . $authManager->ruleTable . ' ([[name]])'.
 | 
				
			||||||
                $this->buildFkClause()
 | 
					                $this->buildFkClause('ON DELETE SET NULL', 'ON UPDATE CASCADE')
 | 
				
			||||||
        ], $tableOptions);
 | 
					        ], $tableOptions);
 | 
				
			||||||
        $this->createIndex('idx-auth_item-type', $authManager->itemTable, 'type');
 | 
					        $this->createIndex('idx-auth_item-type', $authManager->itemTable, 'type');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -83,9 +83,9 @@ class m140506_102106_rbac_init extends \yii\db\Migration
 | 
				
			|||||||
            'child' => $this->string(64)->notNull(),
 | 
					            'child' => $this->string(64)->notNull(),
 | 
				
			||||||
            'PRIMARY KEY ([[parent]], [[child]])',
 | 
					            'PRIMARY KEY ([[parent]], [[child]])',
 | 
				
			||||||
            'FOREIGN KEY ([[parent]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])'.
 | 
					            'FOREIGN KEY ([[parent]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])'.
 | 
				
			||||||
                $this->buildFkClause(),
 | 
					                $this->buildFkClause('ON DELETE CASCADE', 'ON UPDATE CASCADE'),
 | 
				
			||||||
            'FOREIGN KEY ([[child]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])'.
 | 
					            'FOREIGN KEY ([[child]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])'.
 | 
				
			||||||
                $this->buildFkClause(),
 | 
					                $this->buildFkClause('ON DELETE CASCADE', 'ON UPDATE CASCADE'),
 | 
				
			||||||
        ], $tableOptions);
 | 
					        ], $tableOptions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        $this->createTable($authManager->assignmentTable, [
 | 
					        $this->createTable($authManager->assignmentTable, [
 | 
				
			||||||
@ -94,7 +94,7 @@ class m140506_102106_rbac_init extends \yii\db\Migration
 | 
				
			|||||||
            'created_at' => $this->integer(),
 | 
					            'created_at' => $this->integer(),
 | 
				
			||||||
            'PRIMARY KEY ([[item_name]], [[user_id]])',
 | 
					            'PRIMARY KEY ([[item_name]], [[user_id]])',
 | 
				
			||||||
            'FOREIGN KEY ([[item_name]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])' .
 | 
					            'FOREIGN KEY ([[item_name]]) REFERENCES ' . $authManager->itemTable . ' ([[name]])' .
 | 
				
			||||||
                $this->buildFkClause(),
 | 
					                $this->buildFkClause('ON DELETE CASCADE', 'ON UPDATE CASCADE'),
 | 
				
			||||||
        ], $tableOptions);
 | 
					        ], $tableOptions);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ($this->isMSSQL()) {
 | 
					        if ($this->isMSSQL()) {
 | 
				
			||||||
@ -153,16 +153,16 @@ class m140506_102106_rbac_init extends \yii\db\Migration
 | 
				
			|||||||
        $this->dropTable($authManager->ruleTable);
 | 
					        $this->dropTable($authManager->ruleTable);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected function buildFkClause()
 | 
					    protected function buildFkClause($delete = '', $update = '')
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if ($this->isMSSQL()) {
 | 
					        if ($this->isMSSQL()) {
 | 
				
			||||||
            return '';
 | 
					            return '';
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ($this->isOracle()) {
 | 
					        if ($this->isOracle()) {
 | 
				
			||||||
            return ' ON DELETE SET NULL';
 | 
					            return ' ' . $delete;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return ' ON DELETE SET NULL ON UPDATE CASCADE';
 | 
					        return implode(' ', ['', $delete, $update]);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user