MyBB.de Forum

Normale Version: Bei Aktivierung Spalte in Datenbank umbenennen.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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.
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
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