Tabellen namen mit migration umbenenen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3319
Registriert: 15.12.2014 10:19

Re: Tabellen namen mit migration umbenenen

Beitrag von LukeWCS »

Gut dass wir darüber gesprochen haben. :D
IMC hat geschrieben: 28.12.2025 00:43 Wird vom MariaDB erst seit 10.5 unterstützt. Ist seit einen 1/2 Jahr auch EOL.
Okay, das erschien 12/2019, das dürfte bei den Hostern also frühestens 01/2020 relevant gewesen sein. Berücksichtigt die Weiche auch MariaDB <10.5?
Das ist die Lösung für Chris. Du bist echt gut im Lösungen finden. 👍👍
Das war jetzt aber bei mir eher die Kategorie "Pure Verzweiflung". :lol: Als ich im WWH Forum sah, welchen Aufwand chris1278 betreiben muss, nur um einen Tippfehler bei einem Tabellen Namen in Bezug auf Gross/Klein zu beheben, haben sich bei mir die Nackenhaare aufgestellt. Das ganze Ding hat zusammen rund 5KB Code, verteilt auf 2 Migrationsdateien und das schlussendlich nur, um eine Tabelle umzubenennen.

Ich verstehe auch nicht, warum es für so eine "gewöhnliche" Aktion wie das Umbenennen einer Tabelle keine Berücksichtigung im DBAL gibt. Gewöhnlich was Umbenennen angeht, aber "aufwendig" was verschiedene DBMS angeht. Deswegen wäre das eigentlich ein perfekter Kandidat für den DBAL.

Chris, hol dir die Pages, egal welche Version, das mit der Umbenennung gabs schon bei 1.0.0, wie ich gerade festgestellt habe. Aber nimm gleich die 3.0.1, falls du das nicht eh schon irgendwo im Einsatz hast.

phpBB • Pages - Contribution Details

Was für dich relevant ist, findest du in dieser Datei:

phpbb\pages\migrations\converter\c1_convert_table.php
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
chris1278
Mitglied
Beiträge: 4115
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Tabellen namen mit migration umbenenen

Beitrag von chris1278 »

Prima dann fliegt der schleifen Hickhack rauund es bleibt bei alter table.

@update

Jetzt passt es. ich hab die datei jetzt und läuft.

Code: Alles auswählen

public function rename_table()
{
	switch ($this->db->get_sql_layer())
	{
		// SQL Server dbms support this syntax
		case 'mssql':
		case 'mssql_odbc':
		case 'mssqlnative':
			$sql = 'EXEC sp_rename' . $this->table_prefix . 'chris1278_sg_Info, ' . $this->table_prefix . 'chris1278_sg_info';
		break;

		// All other dbms support this syntax
		default:
			$sql = 'ALTER TABLE ' . $this->table_prefix . 'chris1278_sg_Info RENAME TO ' . $this->table_prefix . 'chris1278_sg_info';
		break;
	}

	$this->db->sql_query($sql);
}

Somit passt das. Im übrigen war ja das was die jetzt macht sowieso von anfang an meine idee. das ist hier etwas aufwändiger weil es verschiedene datenbanken mit einbezieht aber das kommt ja meinem ersten Gedanken doch am nächsten. Jedenfalls funktioniert es. Vielen Vielen Dank.
Zuletzt geändert von chris1278 am 28.12.2025 11:32, insgesamt 1-mal geändert.
Benutzeravatar
IMC
Mitglied
Beiträge: 898
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Tabellen namen mit migration umbenenen

Beitrag von IMC »

LukeWCS hat geschrieben: 28.12.2025 01:39Berücksichtigt die Weiche auch MariaDB <10.5?
Nein. phpBB hat keine explizierte Unterstützung von MariaDB. Deshalb kann ich auch nicht ermitteln ob MariaDB installiert ist. Zumindest habe ich im Netz nichts gefunden um die DB-Engine einfach zu ermittel. phpBB Ermittelt diese über die geladene Klasse. Gibt es aber für MariaDB nicht. Deshalb hatte ich diesen Weg verworfen.

Da es bei Pages keine Probleme bei der Migration gibt, kann es auch sein das meine Infos nicht ganz richtig sind. Ich werde mir die vorgehendsweise bei Pages heute Abend mal genauer anschauen. Die Klasse \phpbb\db\sql_insert_buffer hat meine Neugier geweckt.

Ich hatte in der Vergangenheit auch schon das Bedürfnis Spaltennamen umzubenennen.
Ich verstehe auch nicht, warum es für so eine "gewöhnliche" Aktion wie das Umbenennen einer Tabelle keine Berücksichtigung im DBAL gibt.
Das war sicherlich der Suche nach dem kleinsten gemeinsamen Nenner geschuldet. Und der Abwegung zwischen Aufwand und Nutzen.
Gruß, Thorsten

Meine Extensions
Antworten

Zurück zu „Extension Bastelstube“