Datenbank-Überbleibsel von 3.0 entfernen

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von Cold »

"Das STK wurd noch nicht auf phpBB 3.1.X portiert" - noch nicht, kann oder wird also noch kommen?

Neuinstallation und Datenimport gefällt mir gut, werde ich testweise machen und schauen was passiert. Davor macht es, denke ich, Sinn, noch einmal richtig aufzuräumen.

- Beiträge, die älter als 24 Monate sind, keine Antworten und weniger als 1000 Views haben
- Nutzer, die Null Beiträge haben und dere letzte Anmeldung länger als 24 Monate zurück liegt (innerhalb Adminbereich)
- Weitere Vorschläge?

Dürfte potentielle Fehlermeldungen schon mal reduzieren. Da es leider, analog zu "Inaktive Nutzer löschen", keine Funktion für die Beiträge gibt möchte ich noch fragen, wie der entsprechende Befehl für die Beiträge lauten würde? Kann man die Kriterien verknüpfen wie genannt?


Gruß

Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von gn#36 »

Kann noch kommen, aber absehbar ist das im Moment nicht. Ich kenne derzeit keine Funktion die Beiträge nach den genannten Kriterien so ohne weiters filtern kann.

Aber die Löschung von Nutzern mit genau/mehr als/weniger als X Beiträgen und einer Letzten Aktivität vor/am/nach Datum Y geht mit der Boardeigenen Funktion "Automatisches Löschen inaktiver Benutzer" unter "Benutzer und Gruppen" -> "Benutzersicherheit". Dort kannst du sie auch erst mal deaktivieren um dann in der Liste inaktiver Benutzer zu prüfen ob die Kriterien richtig waren (und anschließend kannst du sie dort dann auch löschen).

Ich glaube aber nicht dass das Fehlermeldungen reduziert.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von Cold »

gn#36 hat geschrieben:Ich glaube aber nicht dass das Fehlermeldungen reduziert.
Ich formuliere das andersrum: Die Datenmenge wird reduziert und damit die Anzahl der kritischen Fälle. Das muss jetzt nicht umbedingt ein Vorteil sein, aber schlecht war die User-Lösch-Aktion trotzdem nicht - ich habe Unmengen alter Spam-Profile gefunden ("xasdhdaw").

Die Neu-Installation mache ich dann demnächst und poste aufgetretene Fehler hier.


Gruß

Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von Cold »

Hallo,

endlich habe ich mal Zeit, mich darum zu kümmern.

Kann ich, um die Datenbank zu reparieren, nicht auch folgendes tun?:

- Struktur von Schueler-Talk exportieren
- Struktur einer 3.1.5 Neuinstallation exportieren
- Beide exportierten Datenbanken und Notepad++ miteinander vergleichen (Compare-Plugin)
- Unterschiede in Komplett-Export (Daten und Struktur) von Schueler-Talk übernehmen
- Datenbank online löschen und durch korrigierte Version ersetzen (natürlich erst im Testsystem unter http://www.schueler-talk.de/dev)

Die Struktur-SQLs können bei Interesse hier herunter geladen werden: https://www.dropbox.com/sh/dt17mwegqfqi ... fJ1Ka?dl=0

/Edit:

Ich habe die Strukturen nun mal miteinander verglichen. Dabei sind mir folgende Änderungen aufgefallen. Es gab aber weitere Veränderungen, die aber von installierten Extensions kamen. Weiterhin gibt es auch unterschiedliche Reihenfolgen bei den einzelnen Zeilen. Wirkt sich das irgendwie aus? Ansonsten wäre es nett, wenn ihr euch mal zu den unten stehenden Dingen äußert. Welche rühren definitiv von 3.0 her, sollten gelöscht oder geändert werden? Die "Timezone" ist klar, schließlich kann ich wegen der keinen neuen User anlegen.

Wie ändere ich das alles am besten? Direkt in phpMyAdmin oder über die SQL-Datei und dann irgendwie (wie?) importieren?

phpBB_posts
Original 3.1.5: `post_text` mediumtext COLLATE utf8_bin NOT NULL,
Schueler Talk: `post_text` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

Original 3.1.5:
Schueler Talk:+ `post_modified` int(11) unsigned NOT NULL DEFAULT '0',

Original 3.1.5: KEY `post_visibility` (`post_visibility`)
Schueler Talk:
KEY `post_visibility` (`post_visibility`),
+ FULLTEXT KEY `post_subject` (`post_subject`),
+ FULLTEXT KEY `post_content` (`post_text`,`post_subject`)

phpBB_reports

Original 3.1.5:
`report_text` mediumtext COLLATE utf8_bin NOT NULL,
+ `reported_post_enable_bbcode` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `reported_post_enable_smilies` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `reported_post_enable_magic_url` tinyint(1) unsigned NOT NULL DEFAULT '1',
`reported_post_text` mediumtext COLLATE utf8_bin NOT NULL,
Schueler Talk: `report_text` mediumtext COLLATE utf8_bin NOT NULL,
-
-
-
`reported_post_text` mediumtext COLLATE utf8_bin NOT NULL,

phpBB_search_wordmatch

Original 3.1.5: `title_match` tinyint(1) unsigned NOT NULL DEFAULT '0',
-
UNIQUE KEY `un_mtch` (`word_id`,`post_id`,`title_match`),
Schueler Talk:
`title_match` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ UNIQUE KEY `unq_mtch` (`word_id`,`post_id`,`title_match`),
UNIQUE KEY `un_mtch` (`word_id`,`post_id`,`title_match`),

phpBB_styles

Original 3.1.5:
`style_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`style_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`style_copyright` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`style_active` tinyint(1) unsigned NOT NULL DEFAULT '1',
-
-
-
`style_path` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
`bbcode_bitfield` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT 'kNg=',
`style_parent_id` int(4) unsigned NOT NULL DEFAULT '0',
`style_parent_tree` text COLLATE utf8_bin NOT NULL,
-
PRIMARY KEY (`style_id`),
UNIQUE KEY `style_name` (`style_name`)
-
-
-
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;

Schueler Talk:
`style_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`style_name` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`style_copyright` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '',
`style_active` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `template_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `theme_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
+ `imageset_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`style_path` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
`bbcode_bitfield` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT 'kNg=',
`style_parent_id` int(4) unsigned NOT NULL DEFAULT '0',
`style_parent_tree` text COLLATE utf8_bin NOT NULL,
+ `topic_preview_theme` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT 'light',
PRIMARY KEY (`style_id`),
UNIQUE KEY `style_name` (`style_name`),
+ KEY `template_id` (`template_id`),
+ KEY `theme_id` (`theme_id`),
+ KEY `imageset_id` (`imageset_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ;

phpBB_topics

Original 3.1.5:
KEY `fid_time_moved` (`forum_id`,`topic_last_post_time`,`topic_moved_id`),
-
-
KEY `topic_visibility` (`topic_visibility`),
KEY `forum_vis_last` (`forum_id`,`topic_visibility`,`topic_last_post_id`)
-
-
-
-
-
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=2 ;

Schueler Talk:
KEY `fid_time_moved` (`forum_id`,`topic_last_post_time`,`topic_moved_id`),
+ KEY `altt` (`topic_last_post_id`),
+ KEY `topic_last_post_id` (`topic_last_post_id`),
KEY `topic_visibility` (`topic_visibility`),
KEY `forum_vis_last` (`forum_id`,`topic_visibility`,`topic_last_post_id`),
+ FULLTEXT KEY `topic_title` (`topic_title`),
+ FULLTEXT KEY `topic_title_2` (`topic_title`),
+ FULLTEXT KEY `topic_title_3` (`topic_title`),
+ FULLTEXT KEY `topic_title_4` (`topic_title`),
+ FULLTEXT KEY `topic_title_5` (`topic_title`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4051 ;

phpBB_users

Original 3.1.5:
+ `user_timezone` varchar(100) COLLATE utf8_bin NOT NULL DEFAULT '',
-
-
`user_dateformat` varchar(30) COLLATE utf8_bin NOT NULL DEFAULT 'd M Y H:i',

Schueler Talk:
-
+ `user_timezone` decimal(5,2) NOT NULL DEFAULT '0.00',
+ `user_dst` tinyint(1) unsigned NOT NULL DEFAULT '0',
`user_dateformat` varchar(30) COLLATE utf8_bin NOT NULL DEFAULT 'd M Y H:i',



Danke und Gruß

Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von gn#36 »

Das kannst du machen, solange du Daten die in unterschiedlichen Formaten gespeichert sind ggf. auch noch konvertierst.

Es geht beides, ob es nun besser ist die SQL Dateien vor dem Import anzupassen oder nicht hängt von den Vorlieben ab und von der Frage, ob alle neuen Felder Standardwerte haben oder nicht. Da ich auf die schnelle gerade kein neues Feld gesehen habe, das keinen Standardwert hat würde ich es mit der Anpassung der SQL Struktur an einer exportierten Datei probieren. Nur falls du Felder löschen oder vom Typ her verändern sollst würde ich das mit bereits importierten Daten machen, sonst schlägt der Import möglicherweise fehl.

Fehlende Felder sind natürlich immer ein Problem, Felder die zu viel sind eventuell auch, wenn sie keinen Standardwert haben. Ein Unterschied in der Reihenfolge ist meistens wohl kein Problem, kann aber bei einigen speziellen Sachen vielleicht ein Problem sein, wenn aus irgendwelchen Gründen ungewöhnliche SQL Befehle verwendet wurden, bei denen nicht alle zu erfassenden Felder angegeben werden die mit einem insert gekoppelt sind (also z.B. so Konstrukte wie INSERT INTO tabelleA (feldA, feldB, feldC) SELECT * FROM tabelleB oder auch so Konstrukte wie SELECT * FROM tabelleA in Verbindung mit Datenauslesen nach Feld Index statt Spaltennamen). Ich weiß aber nicht ob das überhaupt irgendwo vorkommt. Wenn du den Export der Daten bei allen SQL Befehlen mit vollständigen Feldnamen ausstattest (also im Export steht bei den Damen dann INSERT INTO tabelleA (feldA, feldB, feldC,...) VALUES (wertA, wertB, wertC, ...)) dann kannst du im SQL die Reihenfolge aber auch tauschen, so dass sie dem Original entspricht.

Einige zusätzlichen Indizes (FULLTEXT auf phpbb_posts oder phpbb_topics z.B.) in deiner Version würde ich drin lassen. Im Zweifel sollten die erst mal nicht stören, sofern sie nicht wiedersprüchlich sind. Der zusätzliche Index auf phpbb_search_wordmatch z.B. düfte nichts bewirken, weil er lediglich eine Kopie eines anderen Index ist, genauso die 4 zusätzlichen FULLTEXT Keys auf topic_title - mehr als einer bringt nix.

Problematisch könnte das Feld user_timezone werden, welches seinen Typ ändert. Da du vermutlich nur eine Standardzeitzone hast kannst du hier aber vermutlich alle Probleme umgehen, indem du einen neuen Standardwert ('Europe/Berlin') festlegst und das Feld löschst und neu anlegst. Das geht aber erst nach dem Import. Auch das löschen von user_dst, template_id, etc. kannst du um Probleme nach dem Import zu vermeiden wohl erst nachträglich durchführen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von Cold »

Also muss ich im Prinzip "nur" in der phpBB_reports
+ `reported_post_enable_bbcode` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `reported_post_enable_smilies` tinyint(1) unsigned NOT NULL DEFAULT '1',
+ `reported_post_enable_magic_url` tinyint(1) unsigned NOT NULL DEFAULT '1',
einfügen sowie user_timezone ändern? Alles, was derzeit im Schueler-Talk "zu viel" drin ist und keine Probleme macht, kann erstmal bleiben?


Was meinst du mit "das geht erst nach dem Import" bei timezone? Kann ich das nicht in der kompletten Backup-Datei ändern und die Werte entsprechend ändern? Wie ändere ich denn entsprechend den Standard-Wert zu "Europe/Berlin"? In phpMyAdmin kann ich das ja nur User für User machen, oder?

Und die Reihenfolge kann ich doch in phpMyAdmin prinzipiell doch auch durch einfaches Drag&Drop ändern, oder nicht?


Gruß
Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von gn#36 »

Klar kannst du das auch im Backup ändern. Nach dem Einspielen kannst du aber phpMyAdmin für die Feldänderung verwenden, das finde ich persönlich einfacher. Du kannst in deinem Backup ohne Probleme den Feldtyp von user_timezone auf varchar(100) ändern so wie es im Original ist. Ans Ende des Backups würde ich dann ein UPDATE phpbb_users SET user_timezone = 'Europe/Berlin' WHERE 1 setzen (in der Hoffnung dass phpBB den vollen String speichert, da bin ich mir gerade nicht 100% sicher).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Datenbank-Überbleibsel von 3.0 entfernen

Beitrag von Cold »

phpBB hat den vollen String gespeichert - und die Registrierung funktioniert wieder. :) Der Rest folgt, wenn ich Zeit habe...

Danke und Gruß

Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Antworten

Zurück zu „Support-Forum“