Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Bei Aktivierung Spalte in Datenbank umbenennen.
#1
Hallo,

bei der Aktivierung wird in der Tabelle mybb_users geprüft ob die benötigte Datenbankspalte bereits besteht, wenn nicht wird sie angelegt:
PHP-Code:
if (!$db->field_exists("spaltenname_bisher""users")) {
      $db->add_column('users''spaltenname_bisher''INT(11) NOT NULL DEFAULT "0"');
  

beim Deinstallieren (beim Installieren werden keine Spalten angelegt, dies erfolgt erst beim Aktivieren) wird in der Tabelle mybb_users die Datenbankspalte wieder entfernt:
PHP-Code:
if ($db->field_exists("spaltenname_bisher""users")) {
      $db->drop_column('users''spaltenname_bisher');
  

Mein Frage ist, wie lautet der Befehl um eine Spalte umzubennen?
PHP-Code:
if ($db->field_exists("spaltenname2""users")) {
      $db->?????? spaltenname_2 zu spaltenname_neu');
  } 

Begründung:
es sollen die bereits vorhandenen Daten nicht verloren gehen, weil damals ein unpassender Spaltenname vergeben wurde was jetzt aber korrgiert werden soll.

Anmerkung: (nicht das ihr meint ich bemühe mich nicht erst selbst um Lösungen)
In PHP-MyAdmin kann eine Spalte erfolgreich mit dem SQL-Befehl:
ALTER TABLE mybb_users CHANGE `spaltenname_bisher` spaltenname_neu VARCHAR(255);
umbennen. Aber wie muss der Befehl im PlugIn lauten?

Meine Versuche mit "sp_rename", "rename_column" schlugen alle fehl (weiße Seite erfolgt und die Zeile wird als Fehlermeldung im PHP-Log eingetragen.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#2
Vielleicht so:
PHP-Code:
$db->rename_column('users''spaltenname_bisher''spaltenname_neu''VARCHAR(255)'); 

Siehe auch => https://docs.mybb.com/1.8/development/pl...ame_column
Zitieren
#3
Da lag ich mit meinen Versuchen gar nicht so falsch, nur beim Test etwas zu viel in der Zeile (wie du angegeben hast) rein geschrieben.

Dank deiner Hilfe funktioniert es jetzt.

Herzlichen Dank
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Task erstellen meldet bei Aktivierung PHP-Fehler Gerti 2 1.410 28.10.2020, 16:46
Letzter Beitrag: Gerti
  Die Philosophie bei der Aktivierung / Installation Juventiner 1 1.513 29.03.2015, 15:12
Letzter Beitrag: frostschutz