Seite 1 von 1

deleteclient.php version 0.01

Verfasst: Do 13. Okt 2005, 14:20
von knb
Hallo Leute,
was haltet Ihr von diesem Script das einen Mandanten mit fast allem drum und dran ziemlich radikal löscht?
Kann ich ein paar includierte Sachen rausschmeissen? Oder ist meine Herangehensweise, also direkt auf die Tabellen zuzugreifen, irgendwie nicht ganz richtig?
Nicht in Produktivumgebungen einsetzen!

Code: Alles auswählen


Code entfernt
siehe hier:

http://www.contenido.org/forum/viewtopi ... leteclient

Verfasst: Do 13. Okt 2005, 14:49
von HerrB
Unabhängig vom 'ob man es so oder so' machen sollte: Auf jeden Fall (da Du bei V4.5.x gepostet hast) würde ich Dir empfehlen, das aktuelle Datenbankmodell zu beachten. Zu den Newsletter-Empfängern (übrigens ist "Newsletter" besser als "News", da viele unter "News" entsprechende Artikel meinen) gibt es z.B. noch Newsletter-Empfänger-Gruppen und entsprechende Tabellen (im Ganzen zwei). Ob es noch mehr zus. Tabellen gibt, weiss ich gerade nicht.

Aus welchem Grund löscht Du nicht auch die entsprechenden Einträge bei upload, properties und anderen?

Gruß
HerrB

Verfasst: Fr 14. Okt 2005, 08:47
von knb
Aus welchem Grund löscht Du nicht auch die entsprechenden Einträge bei upload, properties und anderen?
War durchaus geplant, aber ich habe nicht bis zum Ende weitergemacht weil ich erst noch wissen ob dieses direkte Löschen nicht grundsätzlich irgendwie Contenido Datenbank korrumpiert, z.B. weil irgendwelche Datensätze mit magic numbers oder so zurückbleiben/auch irrtümlich entfernt werden
Ausserdem gibts ja einige Tabellen die gar nicht mehr benutzt werden.
Das Actionlog kann ja bleiben wie es ist.
Die Tabelle keywords kann sehr gross werden, sodass der löschvorgang recht lange dauern kann.

Die Uploads und Properties werd ich bei der nächsten version hinzunehmen.

News kann ich zu newsletter umbenennen, gute Idee.

Verfasst: Fr 14. Okt 2005, 10:52
von HerrB
Nun, so lange Du das jeweils über die idclient absicherst, sollte es gehen.

Der direkte DB-Zugriff ist zunächst schneller. Der Haken ist, dass man das Ganze kontinuierlich anpassen muss - hier könnte der indirekte Weg über die verschiedenen Objekte von Vorteil sein, aber das halte ich für ähnlich aufwendig, da auch hier Änderungen zu berücksichtigen sind (und es z.B. häufig keine "lösche alles"-Methoden gibt).

Ich habe mir den Code noch nicht im Detail angesehen, wenn Du soweit bist, gucke ich ihn mir an, kann ihn dann noch ein wenig hübschen, wenn Du magst, dann testen wir das Ganze und haben dann ein schickes Skript.

Z.Z. ist das Löschen eines ganzen Mandanten nämlich ein "pain in the a**"...

Übrigens muss jeder Mandant über eigene Sprachen verfügen. Wobei ich zugebe, dass es bis V4.6 möglich war, einen Mandanten ohne Sprache anzulegen; man konnte ihn nur nicht gebrauchen...

Gruß
HerrB

Verfasst: Mi 30. Aug 2006, 18:18
von mvf
aus der versenkung auferstanden

ich möchte gerne für einen Kunden ein Mehrmandantensystem in einzelne DB's und Installationen aufsplitten.

soweit sogut, gesagt getan! nun hat jede einzelne DB noch die rudimente aller anderen Mandanten.

immer wieder wird nach der 'Mandanten komplett Löschen' funktion gefragt und von einem script gesprochen. nach intensiver suche im board habe ich nur diese gefunden.

gibt es schon eine 4.6.8 version davon?

ansonten lasse ich die 'nicht beötigten Mandanten' pro db aus zeitgründen einfach mal als rudimente mitlaufen

Verfasst: Mi 30. Aug 2006, 23:37
von HerrB
gibt es schon eine 4.6.8 version davon?
Nein.

Gruß
HerrB

Verfasst: Mi 30. Aug 2006, 23:43
von mvf
HerrB hat geschrieben:
gibt es schon eine 4.6.8 version davon?
Nein.

Gruß
HerrB
merci für die bestätigung