Skip to content

Commit

Permalink
Fix compatibility with DBAL 4.x
Browse files Browse the repository at this point in the history
  • Loading branch information
kissifrot committed Nov 23, 2024
1 parent 96a1d7e commit ba73563
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 8 deletions.
12 changes: 6 additions & 6 deletions Dbal/Schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ protected function addEntryTable()
$table->addUniqueIndex(['class_id', 'object_identity_id', 'field_name', 'ace_order']);
$table->addIndex(['class_id', 'object_identity_id', 'security_identity_id']);

$table->addForeignKeyConstraint($this->getTable($this->options['class_table_name']), ['class_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
$table->addForeignKeyConstraint($this->getTable($this->options['oid_table_name']), ['object_identity_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
$table->addForeignKeyConstraint($this->getTable($this->options['sid_table_name']), ['security_identity_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
$table->addForeignKeyConstraint($this->getTable($this->options['class_table_name'])->getName(), ['class_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
$table->addForeignKeyConstraint($this->getTable($this->options['oid_table_name'])->getName(), ['object_identity_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
$table->addForeignKeyConstraint($this->getTable($this->options['sid_table_name'])->getName(), ['security_identity_id'], ['id'], ['onDelete' => 'CASCADE', 'onUpdate' => 'CASCADE']);
}

/**
Expand All @@ -116,7 +116,7 @@ protected function addObjectIdentitiesTable()
$table->addUniqueIndex(['object_identifier', 'class_id']);
$table->addIndex(['parent_object_identity_id']);

$table->addForeignKeyConstraint($table, ['parent_object_identity_id'], ['id']);
$table->addForeignKeyConstraint($table->getName(), ['parent_object_identity_id'], ['id']);
}

/**
Expand All @@ -137,8 +137,8 @@ protected function addObjectIdentityAncestorsTable()
// MS SQL Server does not support recursive cascading
$action = 'NO ACTION';
}
$table->addForeignKeyConstraint($oidTable, ['object_identity_id'], ['id'], ['onDelete' => $action, 'onUpdate' => $action]);
$table->addForeignKeyConstraint($oidTable, ['ancestor_id'], ['id'], ['onDelete' => $action, 'onUpdate' => $action]);
$table->addForeignKeyConstraint($oidTable->getName(), ['object_identity_id'], ['id'], ['onDelete' => $action, 'onUpdate' => $action]);
$table->addForeignKeyConstraint($oidTable->getName(), ['ancestor_id'], ['id'], ['onDelete' => $action, 'onUpdate' => $action]);
}

/**
Expand Down
8 changes: 6 additions & 2 deletions Tests/Dbal/MutableAclProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ public function testUpdateDoesNothingWhenThereAreNoChanges()
;
$con
->expects($this->never())
->method('executeUpdate')
->method('executeStatement')
;

$provider = new MutableAclProvider($con, new PermissionGrantingStrategy(), []);
Expand Down Expand Up @@ -536,7 +536,10 @@ protected function setUp(): void
],
$configuration
);
$this->connection->setNestTransactionsWithSavepoints(true);
if (method_exists($configuration, 'setNestTransactionsWithSavepoints')) {
// DBAL < 4.0
$this->connection->setNestTransactionsWithSavepoints(true);
}

// import the schema
$schema = new Schema($this->getOptions());
Expand All @@ -547,6 +550,7 @@ protected function setUp(): void

protected function tearDown(): void
{
$this->connection->close();
$this->connection = null;
}

Expand Down

0 comments on commit ba73563

Please sign in to comment.