$result = $query->executeQuery();
while ($row = $result->fetch()) {
$knownUsers = unserialize($row['owncloudusers']);
+ $knownUsers = array_unique($knownUsers);
foreach ($knownUsers as $knownUser) {
- $insert
- ->setParameter('groupid', $row['owncloudname'])
- ->setParameter('userid', $knownUser)
- ;
+ try {
+ $insert
+ ->setParameter('groupid', $row['owncloudname'])
+ ->setParameter('userid', $knownUser)
+ ;
- $insert->executeStatement();
+ $insert->executeStatement();
+ } catch (\OCP\DB\Exception $e) {
+ /*
+ * If it fails on unique constaint violation it may just be left over value from previous half-migration
+ * If it fails on something else, ignore as well, data will be filled by background job later anyway
+ */
+ }
}
}
$result->closeCursor();