Seite 1 von 1

DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 13.08.2015 10:55
von yks
Hallo,

wie leere ich eine DB so, dass auch alles wieder bei 0 anfängt zu zählen ?
Normalerweise kann ich zB Beiträge oder Foren löschen, aber es zählt dennoch dort weiter, wo es aufgehört hat (was ja auch seinen Sinn hat).
Also ein Forum zähltechnisch völlig zurück auf 0 setzen, die Einstellungen aber alle beibehalten (also nicht "zurücksetzen"). So, als hätte man das Forum bzw die Datenbank neu aufgesetzt.
Geht das ?

Grüße, yks

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 13.08.2015 18:39
von Crizzo
hi,

schau mal in die phpbb_posts und dort nach post_id. Da sollte er die letzte nehmen und hochzählen.

Grüße

Edit: Ist auch Unsinn. Du musst das Hochzählen der Datenbank zurücksetzen: http://stackoverflow.com/questions/8923 ... 32#8923132

Bedank dich bei den Entwicklern, darauf bin ich nämlich nicht gekommen. :oops: :)

Code: Alles auswählen

19:10:05> <rxu> Crizzo : hmm. Well, it sound like delete all posts via MCP and then TRUNCATE TABLE phpbb_posts;
19:10:47> <rxu> afaik the latter should reset the table's auto_increment value
19:11:36> <rxu> or ALTER TABLE phpbb_posts AUTO_INCREMENT = 1; if you have no posts in the table
19:12:10> <rxu> or to the value greater than the last used post_id (it can't be lower)
PS: Das ist aber eigentlich schon ziemlich sinnfrei und wird dich wohl mit Pech noch mit ein paar Problemchen überhäufen.

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 13.08.2015 19:48
von yks
Hallo Blackhawk,

Danke für deine Antwort und den Links ! :)

Ja - wie du auch schreibst, habe ich auch etwas die Befürchtung, dass einige Probleme nachrutschen könnten, weil Primärschlüssel und die Beziehungen zwischen den Tabellen betroffen sind.

Code: Alles auswählen

ALTER TABLE tablename AUTO_INCREMENT = 1
müsste ich dann für jede Tabelle 1x eingeben ?
Und danach sollten sie alle wieder normal hochzählen ?

Überlegte noch, ob/wie einfach nur die DB neu anzulegen ist (quasi diesen Teil aus dem Installationsprozess herausgenommen). Aber vermutlich verhaspel ich mich bzw es ist eben keine einfache schnelle Lösung.

Hintergrund für mich war einfach, ein inzwischen altes modifiziertes Board schnell auf 0 zu setzen um es wieder neu und upgedatet einsetzen zu können statt ein neues Komplettpaket wieder anzupassen.

Grüße und einige Eiswürfel
yks

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 14.08.2015 11:00
von Elsensee
Ich verstehe noch immer nicht wirklich den Sinn dahinter, es auf 0 zurückzusetzen. Du kannst das Startdatum ja zurücksetzen - ist ja kein Ding, aber warum denn die ganzen IDs? Die Zahl hat lediglich für phpBB selbst eine interne Bedeutung - phpBB muss ja wissen, welcher Beitrag zu welchem Thema und/oder andersrum gehört. ;)

Lass es einfach so und dann passt das auch. :)

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 14.08.2015 17:22
von yks
Vielleicht verstehst du es, wenn ich (quarkig, nicht ernst nehmen ;) argumentieren würde :
Warum neue Komplettpakete rausgeben oder installieren - man könnte doch auch nur 1 Forum immer wieder leeren und updaten, reicht doch auch, würde ja auch funktionieren.

Der Punkt ist einfach, statt ein altes modifiziertes Forum in den Schrank zu legen und alle Modifikationen in ein neues Board wieder neu einbauen zu müssen, zB viel Zeit zu sparen, indem man alles auf 0 setzt, Modifikationen und Einstellungen erhalten bleiben, aber man ein "neues" Forum hat.
Eigentlich einfach und mMn durchaus sinnvoll sein kann - wenn es denn problemlos geht.

Die Beziehungen etc dürfen natürlich nicht geändert werden - dh es wäre wie im Zustand kurz nach der Installation.
Um das Installationsdatum geht es mir dabei nicht mal.

Gruß
yks

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 14.08.2015 19:58
von gn#36
Wenn man weiß, dass man das will, bevor man das Forum modifiziert kann man alle DB Änderungen von Mods einfach in eine große Liste setzen.

Wenn man neu anfangen will installiert man das Forum neu und lässt die komplette Liste wieder auf die DB los (1x in phpMyAdmin ausführen und fertig). Schon hat man ein jungfräuliches phpBB mit installierten Mods aber ohne Inhalt, das nicht noch Fragmente von Daten enthält die man vergessen hat beim leeren. Halte ich für einfacher und sicherer als einige Daten von Hand zu löschen. Natürlich löscht das die Einstellungen, aber teile davon wären auch eh falsch und bräuchten Updates (die Forentabelle enthält z.B. falsche Referenzen auf nicht existente Themen und User, die acl Tabellen enthalten Berechtigungen von nicht existenten Gruppen, usw.).

Die Liste hat den Nebeneffekt dass man prima damit ein Test-Board für weitere Mods installieren kann das von der DB Struktur her identisch mit dem Live Board ist, nur dass es weniger Daten enthält. Wenn man noch einen Schritt weiter geht baut man sogar ein installer Skript ähnlich der install/database_update.php in dem die Mods installiert werden. Das haben wir z.B. hier auf phpBB.de so gemacht, so dass das Website Team einfach eine Kopie der Seite herunterladen kann und dann mit einer phpBB Installation und einem anschließenden Aufruf des Skripts abgesehen von den Daten in der DB eine identische Kopie dieses Forums hat, mit der wir Änderungen testen können, bevor wir sie hochladen.

Re: DB völlig leeren + Start zähltechnisch bei 0

Verfasst: 14.08.2015 21:38
von yks
Danke für deine Antwort !

Leider wusste ich das damals nicht im voraus, sonst hätte ich evtl parallel 1 Forum immer nur upgedatet aber leer gelassen.
Wenn man noch einen Schritt weiter geht baut man sogar ein installer Skript ähnlich der install/database_update.php in dem die Mods installiert werden. Das haben wir z.B. hier auf phpBB.de so gemacht, so dass das Website Team einfach eine Kopie der Seite herunterladen kann und dann mit einer phpBB Installation und einem anschließenden Aufruf des Skripts abgesehen von den Daten in der DB eine identische Kopie dieses Forums hat
Bingo, das ist die Konsequenz dessen, was ich meine :)
Wenn man neu anfangen will installiert man das Forum neu und lässt die komplette Liste wieder auf die DB los (1x in phpMyAdmin ausführen und fertig). Schon hat man ein jungfräuliches phpBB mit installierten Mods aber ohne Inhalt
Gäbe es so ein "Listentool" auch für Normaluser ? (Wenn auch für mich jetzt zu spät)
Das Mod-Modul im Admin-Bereich funktioniert ja etwas anders.
Natürlich löscht das die Einstellungen, aber teile davon wären auch eh falsch und bräuchten Updates (die Forentabelle enthält z.B. falsche Referenzen auf nicht existente Themen und User, die acl Tabellen enthalten Berechtigungen von nicht existenten Gruppen, usw.).
Hätte gehofft, dass beim Leeren aller Tabellen auch falsche Referenzen gelöscht werden.
Einstellungen wären dann auch weg, ja.

Mal sehen, was ich mache...

Danke und Gruß
yks