8000 Fix compatibility with DBAL 4.x · symfony/security-acl@60d3470 · GitHub
[go: up one dir, main page]

Skip to content

Commit 60d3470

Browse files
committed
Fix compatibility with DBAL 4.x
1 parent 96a1d7e commit 60d3470

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

Dbal/MutableAclProvider.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,14 @@ public function createAcl(ObjectIdentityInterface $oid)
7878
/**
7979
* {@inheritdoc}
8080
*/
81-
public function deleteAcl(ObjectIdentityInterface $oid)
81+
public function deleteAcl(ObjectIdentityInterface $oid, bool $transactionStarted = false)
8282
{
83-
$this->connection->beginTransaction();
83+
if (!$transactionStarted) {
84+
$this->connection->beginTransaction();
85+
}
8486
try {
8587
foreach ($this->findChildren($oid, true) as $childOid) {
86-
$this->deleteAcl($childOid);
88+
$this->deleteAcl($childOid, true);
8789
}
8890

8991
$oidPK = $this->retrieveObjectIdentityPrimaryKey($oid);

Dbal/Schema.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,9 @@ protected function addEntryTable()
9494
$table->addUniqueIndex(['class_id', 'object_identity_id', 'field_name', 'ace_order']);
9595
$table->addIndex(['class_id', 'object_identity_id', 'security_identity_id']);
9696

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

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

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

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

144144
/**

Tests/Dbal/MutableAclProviderTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ public function testUpdateDoesNothingWhenThereAreNoChanges()
263263
;
264264
$con
265265
->expects($this->never())
266-
->method('executeUpdate')
266+
->method('executeStatement')
267267
;
268268

269269
$provider = new MutableAclProvider($con, new PermissionGrantingStrategy(), []);
@@ -536,7 +536,6 @@ protected function setUp(): void
536536
],
537537
$configuration
538538
);
539-
$this->connection->setNestTransactionsWithSavepoints(true);
540539

541540
// import the schema
542541
$schema = new Schema($this->getOptions());
@@ -547,6 +546,7 @@ protected function setUp(): void
547546

548547
protected function tearDown(): void
549548
{
549+
$this->connection->close();
550550
$this->connection = null;
551551
}
552552

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"doctrine/cache": "^1.11|^2.0",
2727
"doctrine/common": "^2.2|^3",
2828
"doctrine/persistence": "^1.3.3|^2|^3",
29-
"doctrine/dbal": "^2.13.1|^3.1",
29+
"doctrine/dbal": "^2.13.1|^3.1|^4",
3030
"psr/log": "^1|^2|^3"
3131
},
3232
"autoload": {

0 commit comments

Comments
 (0)
0