Anlegen und einfügen einer Tabelle mittels Migrations-Datei

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
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von BNa »

< Siehe mein letztes Post drüber, da ist das mit dem ACP-Modul schon gut angeschnitten.
Als erstes musst Du die $config-Einträge aus beiden Modulen rauspopeln,
und durch den eigenen Tabellennamen/Deine Syntax ersetzen,
siehe dazu vor allem diesen Beitrag:
https://www.phpbb.com/community/viewtop ... #p13999431

und der Link im o.g. Post
https://github.com/VSEphpbb/autogroups/ ... roller.php **

**Besonders ab hier:

Dort sieht man zB wie Einträge gesetzt werden

Code: Alles auswählen

protected function submit_autogroup_rule($autogroups_id = 0)

und ab hier das Auslesen:

Code: Alles auswählen

public function display_autogroups()
Benutzeravatar
chris1278
Mitglied
Beiträge: 3564
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von chris1278 »

Ok ich schau mir das mal an, obwohl mein english recht naja sagen wir mal mässig ist. lol.

Mit raushohlen meinst du in beiden seiten das hier:

$this->config = $config;

Werde mir diese Erweiterung mal im Testboard genauer anschauen. Ich denke, dazu muss ich auch die yml Dateien erweitern so wie es anschaut. da braucht es wohl einen eigenen Controller für
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von BNa »

Yap und $config meinetwegen ersetzen durch $socialiconfig
und $socialiconfig sollte dann auch noch definiert sein (Tabelle etc.).

aber erstmal mit

Code: Alles auswählen

$this->config = $socialiconfig;
anfangen.

Bei Trial and Error dann halt Fehlermeldungen verstehen und voran robben :geek:

Werde mir diese Erweiterung mal im Testboard genauer anschauen. Ich denke, dazu muss ich auch die yml Dateien erweitern so wie es anschaut. da braucht es wohl einen eigenen Controller für
Ja, wird schon ein Rattenschwanz sein, das alles homogen zu machen.

Weiteres Futter:
https://www.phpbb.com/community/viewtop ... #p14530321
Benutzeravatar
chris1278
Mitglied
Beiträge: 3564
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von chris1278 »

Hallo BNa ich hätte da noch mal eine frage an dich. Falls ein andere diese beantworten kann ist das auch ok.

Ich habe ja die migration der Einträge so hinbekommen:

Code: Alles auswählen

"INSERT INTO  " . $this->table_prefix . 'tabellenname' . " (chris1278_name, chris1278_value, is_dynamic) VALUES ('name', '1', '0');",
Jetzt will ich aber um die eine Extension zu updaten einige Inhalte ändern und der Befehl den ich dazu in phpMyAdmin eingebe lautet so:

Code: Alles auswählen

UPDATE phpbb_tabellenname SET chris1278_name = 'neuer_name' WHERE chris1278_name = 'name' 
ich habe schonmal versucht und der anfang müsste dann so aussehen:

Code: Alles auswählen

"UPDATE  " . $this->table_prefix . 'tabellenname' . 
allerdings krieg ich den rest nach dem punkt nicht hin. Der erste teil sagt update in Tabelle und dann müsste der restliche SET Befehl kommen.
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von 69bruno »

"UPDATE " . $this->table_prefix . 'tabellenname' . "SET chris1278_name = " . 'neuer_name' . " WHERE chris1278_name = " . 'name'

Ungeprüft auf die Schnelle am handy getippt.
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3564
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von chris1278 »

Bruno das funktioniert leider nicht. Man mus leider bei Phpbb migration gewisse syntax bachten. der meldet mir mit deiner version das hier:

Parse error: syntax error, unexpected 'phpbb_chris1278_cookie' (T_STRING) in C:\xampp\73\htdocs\wwh\ext\chris1278\cookie\migrations\v_1_0_4.php on line 39
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von 69bruno »

OK.Nächster Versuch, wenn das auch nicht stimmt, lese ich lieber wieder still mit, da ich mit den Erwartungen von PHBBB noch nicht vertraut bin :cookie: .

Aber du hast ja in deiner cookie-ext bereits einen Update-Befehl drin:

Code: Alles auswählen

'UPDATE ' . BBCODES_TABLE . '
				SET display_on_posting = 0
				WHERE ' . $this->db->sql_in_set('bbcode_tag', $bbcode_tags);
Dann müsste der doch nur umformuliert werden zu:

Code: Alles auswählen

'UPDATE ' . $this->table_prefix . 'tabellenname' . '
				SET chris1278_name =  ' . 'neuer_name' . '
				WHERE ' . $this->db->sql_in_set('chris1278_name', 'name');
Wobei ich bei 'tabellenname', 'neuer_name' und 'name' nicht weiß, wie die wo herkommen und wie du sie ersetzen musst.

Nachtrag:

Jetzt komme ich so langsam dahinter.....

Wenn Du genau weißt, in welcher Tabelle und in welcher Spalte du welchen Namen austauschen willst, brauchst du diese vielen .-Verkettungen gar nicht.

Code: Alles auswählen

'UPDATE ' . $this->table_prefix . 'chris1278_cookie
				SET chris1278_name =  'neuer_name_für_cs1_enabled'
				WHERE ' . $this->db->sql_in_set('chris1278_name', 'cs1_enabled');
Zuletzt geändert von 69bruno am 27.08.2021 13:09, insgesamt 1-mal geändert.
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3564
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von chris1278 »

Leider auch so nicht.

Nachtrag das funktioniert auch nicht.
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von 69bruno »

Gibt es denn eine Fehlermeldung und/oder kannst du mir mal den code komplett zeigen ?
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Anlegen und einfügen einer Tabelle mittels Migrations-Datei

Beitrag von 69bruno »

Code: Alles auswählen

'UPDATE ' . $this->table_prefix . 'chris1278_cookie
				SET chris1278_name =  neuer_name_fuer_cs1_enabled
				WHERE ' . $this->db->sql_in_set('chris1278_name', 'cs1_enabled');
Die Hochkommata bei neuer_name_fuer_cs1_enabled bitte weglassen. :roll:
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Antworten

Zurück zu „Extension Bastelstube“