MyBB.de Forum
Tabellenname "mybb_users" ändern - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Tabellenname "mybb_users" ändern (/thread-11776.html)



Tabellenname "mybb_users" ändern - Brix - 12.12.2008

Guten Abend, leider habe ich nichts unter der Suche gefunden. Ich würde gerne bei meinem MyBB den Namen der Tabelle "mybb_users" auf den Namen "registry" umändern, da ich es mit einem Chat verknüpfen will. Leider habe ich beim Chat nicht die Möglichkeit, die Tabellennamen zu ändern und bei der Software würde ich auch gerne bleiben.
Ich habe schon versucht alles notwendige zu ändern, allerdings finde ich nicht jede Datei, bei der ich etwas verändern muss.
Gibt es vielleicht eine Liste oder Sonstiges?
Vielen Dank!
Nachtrag:
Das Forum ist momentan nur auf Xampp installiert und beinhaltet auch noch keine Daten.


RE: Tabellenname "mybb_users" ändern - Zwoetzen - 12.12.2008

Die mybb_users-Tabelle ist eine sehr zentrale Tabelle, von der quasi überall zugegriffen wird.

Trotzdem eine Idee, was eventuell gehen könnte:
Soweit ich weiß laufen alle Zugriffe auf die Datenbank letztendlich in einer oder ein paar wenigen Funktionen des $db-Objektes zusammen. Das Objekt findest du je nach verwendeter DB-Engine in der entsprechenden /inc/db_*.php.
Du müsstest jetzt die entsprechenden Funktionen herausfinden (zB function query()), und könntest ein str_replace auf das $query anwenden, um aus mybb_users ein registry zu machen. In registry müssen natürlich alle Spalten aus mybb_users enthalten sein, aber das ist hoffentlich klar Wink

Wie gesagt: Ich garantiere nicht, dass dieser Weg wirklich funktioniert oder ob du dadurch Schäden an der DB und/oder Forensoftware hervorrufst.
Zumindest logisch müsste es aber so funktionieren, du musst eben nur alle Zugriffe entsprechend umlenken Wink


RE: Tabellenname "mybb_users" ändern - Brix - 12.12.2008

Hm, das habe ich auch schon versucht, allerdings wird aus vielen Dateien die Tabelle extra, ohne Funktion aufgerufen. Ich werde es vielleicht doch noch mal anders angehen, da es sonst auch Probleme beim Updaten geben würde.
Danke!


RE: Tabellenname "mybb_users" ändern - Michael - 12.12.2008

(12.12.2008, 21:12)Brix schrieb: Hm, das habe ich auch schon versucht, allerdings wird aus vielen Dateien die Tabelle extra, ohne Funktion aufgerufen.
Wo zum Beispiel? Eigentlich sollten alle Datenbankabfragen über die jeweilige Datenbankklasse verarbeitet werden.


RE: Tabellenname "mybb_users" ändern - Zwoetzen - 12.12.2008

Michael hat recht: Es dürften keine direkten Anfragen auf die Datenbank vorhanden sein. (Außer in den db_*.php-Dateien)

Das Datenbank-Objekt hat ja gerade den Sinn, dass die Zugriffe gekapselt werden, sodass die eigentlichen Scripte unabhängig von der tatsächlich verwendeten DB-Engine ist. Durch die Kapselung der DB laufen damit alle Zugriffe an einer Stelle zusammen (eben zB in der db_mysql.php im Falle einer MySQL DB).

Beachte auch, dass solche Funktionen wie $db->simple_select(), $db->update_query() etc letztendlich auch nur die $db->query() aufrufen.
Weitere sehr oft genutzte Funktionen sind $db->fetch_array() bzw. $db->fetch_field(). Da diese aber nur auf Ergebnistabellen arbeiten und somit nichts mit der mybb_users am Hut haben, müsstest du hier nichts anpassen.

Und wegen Probleme bei Updates: Sofern die db_*.php Dateien ersetzt werden müssen, musst du die Änderungen einfach nochmal vornehmen. Wenn du die Änderungen entsprechend festhältst, sollte das keine größeren Probleme aufwerfen.


RE: Tabellenname "mybb_users" ändern - StefanT - 13.12.2008

Allerdings wird das dann auch in Texten von Beiträgen umgeändert. Wink


RE: Tabellenname "mybb_users" ändern - Dyers Eve - 13.12.2008

Wäre es nicht einfacher ein Script zu schreiben, welches die MyBB_users Tabelle auf die Tabelle registry kopiert, somit hat du eine unveränderte MyBB Installation und dennoch dein gewünschtes Feature ?


RE: Tabellenname "mybb_users" ändern - Brix - 13.12.2008

Stimmt, die Tabellen sind nur in den jeweiligen Daten abgefragt, ich habe da wohl was verwechselt. Darum müsste es dann eigentlich doch gut durchsätzbar sein.
Edit:
Ich hab jetzt alle Abfragen verändert, allerdings wird mir trotzdem noch das gesendet:
Zitat:MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1146 - Table 'web46sql3.mybb_users' doesn't exist
Query:
SELECT u.*, f.* FROM mybb_users u LEFT JOIN mybb_userfields f ON (f.ufid=u.uid) WHERE u.uid='1' LIMIT 1
Wird irgendwo vielleicht noch geprüft, ob die Tabelle überhaupt vorhanden ist?
Edit2:
Mir ist gerade aufgefallen, ich hab nicht überall die Tabelle ersetzen lassen. Muss das überall sein?

Habe es jetzt geschafft, funktioniert, danke!


RE: Tabellenname "mybb_users" ändern - StefanT - 14.12.2008

Natürlich musst du es überall machen. Wink