Die Installationsroutine des Schedule Organizer erstellt automatisch die Datenbanktabellen für das Script. Für den Fall, dass es bereits Tabellen gibt, die denselben Namen haben wie die des Scripts, bietet der Installationsbildschirm die Möglichkeit, "Datenbanktabellen umbenennen" oder "Datenbanktabellen löschen" auszuwählen. Bis vor einiger Zeit war "Datenbanktabellen löschen" standardmäßig ausgewählt.
Wie gefährlich das ist, zeigte sich bei einer Installation für einen Kunden. Der Kunde hatte zu dieser Zeit bereits eine Installation des Schedule Organizer laufen und wollte eine weitere Instanz des Scripts. Ich habe die Script-Dateien hochgeladen, die Installationsroutine aufgerufen, die Daten eingegeben und das Formular abgeschickt. Die Installation lief ohne Probleme, so dass ich dem Kunden die neuen Zugangsdaten per E-Mail zukommen lassen habe.
Eine Stunde später ruft der Kunde an und meint, dass alle seine Kunden- und Termindaten weg sind. Alles in allem würde das mehrere tausend Datensätze betreffen, welche der Kunde für sein tägliches Geschäft brauchte.
Eine kurze Analyse der Angelegenheit ergab, dass die Datenbanktabellen aussahen wie nach einer frischen Installation ... Autsch. Es folgte ein sehr unangenehmes Gespräch.
Zum Glück ließen sich zwei Drittel der Daten aus einem zufällig einige Wochen zuvor erstellten Backup wiederherstellen. Und freundlicherweise hat der Kunde keine Schadenersatzforderungen geltend gemacht.
Moral von der Geschicht': Wenn man schon so waghalsig ist und "Löschen" als Standardwert vorgibt, sollte man wenigstens ein Backup von der bestehenden Datenbank machen, an der man vor hat zu arbeiten. Selbstredend, dass ich noch am selben Tag die Installationsroutine angepasst und den Standardmodus von "Löschen" in "Umbenennen" geändert habe. :-P