diff --git a/tests/TestCase/Db/Adapter/MysqlAdapterTest.php b/tests/TestCase/Db/Adapter/MysqlAdapterTest.php index 97d80d2e..1fd025e0 100644 --- a/tests/TestCase/Db/Adapter/MysqlAdapterTest.php +++ b/tests/TestCase/Db/Adapter/MysqlAdapterTest.php @@ -16,6 +16,7 @@ use Migrations\Db\Literal; use Migrations\Db\Table; use Migrations\Db\Table\Column; +use Migrations\Db\Table\ForeignKey; use PDO; use PDOException; use PHPUnit\Framework\Attributes\DataProvider; @@ -1679,21 +1680,22 @@ public function testDropForeignKeyWithIdenticalMultipleColumns() ->save(); $table = new Table('table', [], $this->adapter); + $keyOne = (new ForeignKey()) + ->setName('ref_table_fk_1') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); + $keyTwo = (new ForeignKey()) + ->setName('ref_table_fk_2') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); + $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) ->addColumn('ref_table_field1', 'string', ['limit' => 8]) - ->addForeignKeyWithName( - 'ref_table_fk_1', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'], - ) - ->addForeignKeyWithName( - 'ref_table_fk_2', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'] - ) + ->addForeignKey($keyOne) + ->addForeignKey($keyTwo) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id', 'ref_table_field1'])); @@ -1770,9 +1772,14 @@ public function testDropForeignKeyByName() $refTable->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->adapter->dropForeignKey($table->getName(), [], 'my_constraint'); @@ -1865,9 +1872,14 @@ public function testHasNamedForeignKey() $refTable->addColumn('field1', 'string')->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id'], 'my_constraint')); @@ -1883,9 +1895,14 @@ public function testHasForeignKeyWithConstraintForTableWithSignedPK() $refTable->addColumn('field1', 'string')->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer') - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id'], 'my_constraint')); diff --git a/tests/TestCase/Db/Adapter/SqliteAdapterTest.php b/tests/TestCase/Db/Adapter/SqliteAdapterTest.php index 31092fd5..8cd0a906 100644 --- a/tests/TestCase/Db/Adapter/SqliteAdapterTest.php +++ b/tests/TestCase/Db/Adapter/SqliteAdapterTest.php @@ -1462,21 +1462,22 @@ public function testDropForeignKeyWithIdenticalMultipleColumns() ->save(); $table = new Table('table', [], $this->adapter); + $keyOne = (new ForeignKey()) + ->setName('ref_table_fk_1') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); + $keyTwo = (new ForeignKey()) + ->setName('ref_table_fk_2') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); + $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) ->addColumn('ref_table_field1', 'string') - ->addForeignKeyWithName( - 'ref_table_fk_1', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'], - ) - ->addForeignKeyWithName( - 'ref_table_fk_2', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'] - ) + ->addForeignKey($keyOne) + ->addForeignKey($keyTwo) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id', 'ref_table_field1'])); @@ -1556,9 +1557,14 @@ public function testDropForeignKeyByName() $refTable->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->adapter->dropForeignKey($table->getName(), [], 'my_constraint'); diff --git a/tests/TestCase/Db/Adapter/SqlserverAdapterTest.php b/tests/TestCase/Db/Adapter/SqlserverAdapterTest.php index f0357ed1..8e0cea6a 100644 --- a/tests/TestCase/Db/Adapter/SqlserverAdapterTest.php +++ b/tests/TestCase/Db/Adapter/SqlserverAdapterTest.php @@ -851,7 +851,7 @@ public function testAddForeignKey() $fk->setReferencedTable($refTable->getTable()) ->setColumns(['ref_table_id']) ->setReferencedColumns(['id']) - ->setConstraint('fk1'); + ->setName('fk1'); $this->adapter->addForeignKey($table->getTable(), $fk); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id'], 'fk1')); @@ -932,21 +932,21 @@ public function testDropForeignKeyWithIdenticalMultipleColumns() ->save(); $table = new Table('table', [], $this->adapter); + $keyOne = (new ForeignKey()) + ->setName('ref_table_fk_1') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); + $keyTwo = (new ForeignKey()) + ->setName('ref_table_fk_2') + ->setColumns(['ref_table_id', 'ref_table_field1']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id', 'field1']); $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) ->addColumn('ref_table_field1', 'string') - ->addForeignKeyWithName( - 'ref_table_fk_1', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'], - ) - ->addForeignKeyWithName( - 'ref_table_fk_2', - ['ref_table_id', 'ref_table_field1'], - 'ref_table', - ['id', 'field1'] - ) + ->addForeignKey($keyOne) + ->addForeignKey($keyTwo) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id', 'ref_table_field1'])); @@ -1030,9 +1030,14 @@ public function testDropForeignKeyByName() $refTable->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer', ['signed' => false]) - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->adapter->dropForeignKey($table->getName(), [], 'my_constraint'); @@ -1080,9 +1085,14 @@ public function testHasNamedForeignKey() $refTable->save(); $table = new Table('table', [], $this->adapter); + $key = (new ForeignKey()) + ->setName('my_constraint') + ->setColumns(['ref_table_id']) + ->setReferencedTable('ref_table') + ->setReferencedColumns(['id']); $table ->addColumn('ref_table_id', 'integer') - ->addForeignKeyWithName('my_constraint', ['ref_table_id'], 'ref_table', ['id']) + ->addForeignKey($key) ->save(); $this->assertTrue($this->adapter->hasForeignKey($table->getName(), ['ref_table_id'], 'my_constraint'));