Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Tabellenname "mybb_users" ändern
#1
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.
Zitieren
#2
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
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...
Zitieren
#3
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!
Zitieren
#4
(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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
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.
Was ist der Unterschied zwischen der Politik und der Informatik?
In der Informatik ignoriert man führende Nullen...
Zitieren
#6
Allerdings wird das dann auch in Texten von Beiträgen umgeändert. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
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 ?
Through The Never
Zitieren
#8
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!
Zitieren
#9
Natürlich musst du es überall machen. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren