summaryrefslogtreecommitdiffstats
path: root/lib/private/Repair/Owncloud/SaveAccountsTableData.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Repair/Owncloud/SaveAccountsTableData.php')
-rw-r--r--lib/private/Repair/Owncloud/SaveAccountsTableData.php9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/private/Repair/Owncloud/SaveAccountsTableData.php b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
index 6ca46934d71..89c331a7d71 100644
--- a/lib/private/Repair/Owncloud/SaveAccountsTableData.php
+++ b/lib/private/Repair/Owncloud/SaveAccountsTableData.php
@@ -78,6 +78,15 @@ class SaveAccountsTableData implements IRepairStep {
$numUsers = $this->runStep($offset);
}
+ // oc_persistent_locks will be removed later on anyways so we can just drop and ignore any foreign key constraints here
+ $tableName = $this->config->getSystemValue('dbtableprefix', 'oc_') . 'persistent_locks';
+ $schema = $this->db->createSchema();
+ $table = $schema->getTable($tableName);
+ foreach ($table->getForeignKeys() as $foreignKey) {
+ $table->removeForeignKey($foreignKey->getName());
+ }
+ $this->db->migrateToSchema($schema);
+
// Remove the table
if ($this->hasForeignKeyOnPersistentLocks) {
$this->db->dropTable('persistent_locks');