Kategorien
Datenbanken Linux Technologie Terminal

Fehler beim Update von ownCloud 5 auf 6

Ich habe mei­ne own­Cloud-Instanz nach dem Update nicht mehr aus dem War­tungs­mo­dus bekom­men, Pro­ble­me mit der Suchen­gi­ne Luce­ne waren die Ursa­che.  Nach einer kur­zen Suche bin ich auf die­sen Bei­trag auf der Git­Hub-Sei­te des Pro­jekts gesto­ßen:
https://github.com/owncloud/core/issues/6313
Das Hin­zu­fü­gen einer Datei apps/search_lucene/appinfo/preupdate.php mit fol­gen­dem Inhalt schafft Abhil­fe (die­se befin­det sich etwas hüb­scher for­ma­tiert auch noch mal in der Quel­le):

<?php
$currentVersion=OC_Appconfig::getValue('search_lucene', 'installed_version');
if (version_compare($currentVersion, '0.5.2', '<')) {
 //delete duplicate id entries
 $stmt = OCP\DB::prepare('
 DELETE FROM `*PREFIX*lucene_status`
 WHERE `fileid` IN (
 SELECT `fileid`
 FROM (
 SELECT `fileid`
 FROM `*PREFIX*lucene_status`
 GROUP BY `fileid`
 HAVING count(`status`) > 1
 ) AS `mysqlerr1093hack`
 )
 ');
 $stmt->execute();
}
Kategorien
Datenbanken

Duplikate aus einer PostgreSQL-Datenbank sicher entfernen

Klei­ne Notiz, auch für mich selbst. Wer aus einer Post­greS­QL-Daten­bank mal flott alle Dupli­ka­te löschen möch­te, kann wie folgt vor­ge­hen:

DELETEFROM    tabellennameWHERE   feldmituniquekey NOT IN  (SELECT   MAX(dup.feldmituniquekey)  FROM      tabellenname As dup  GROUP BY  dup.doppeltezeile1, dup.doppeltezeile2, dup.doppeltezeile3, dup.doppeltezeile4);

Die Anzahl der GROUP-BY-Fel­der kann belie­big erwei­tert wer­den, um das ver­se­hent­li­che Löschen von teil­wei­se iden­ti­schen Daten­sät­zen zu ver­hin­dern.