]> git.mxchange.org Git - friendica.git/commitdiff
Prevent permissionset foreign key constraint
authorMichael <heluecht@pirati.ca>
Fri, 29 Jan 2021 06:26:51 +0000 (06:26 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 29 Jan 2021 06:26:51 +0000 (06:26 +0000)
src/Worker/ExpireAndRemoveUsers.php

index f28f410b965e24af141810281ec9f879f622fe99..8caaf131ed997430925dae85eea191962ea9eb14 100644 (file)
@@ -57,8 +57,17 @@ class ExpireAndRemoveUsers
                                DBA::delete('contact', ['nurl' => $self['nurl'], 'self' => false]);
                        }
 
+                       // We have to delete photo entries by hand because otherwise the photo data won't be deleted
                        Photo::delete(['uid' => $user['uid']]);
 
+                       // These tables contain the permissionset which will also be deleted when a user is deleted.
+                       // It seems that sometimes the system wants to delete the records in the wrong order.
+                       // So when the permissionset is deleted and these tables are still filled then an error is thrown.
+                       // So we now delete them before all other user related entries are deleted.
+                       DBA::delete('item', ['uid' => $user['uid']]);
+                       DBA::delete('post-user', ['uid' => $user['uid']]);
+                       DBA::delete('profile_field', ['uid' => $user['uid']]);
+
                        DBA::delete('user', ['uid' => $user['uid']]);
                }
                DBA::close($users);