Ich versuche mich an einer eigenen Extension. Erstellen von einer Tabelle bekomme ich hin.
Mit welchen Befehl kann ich eine vorhandene selbst erstellte Tabelle in ext/walter91/migrations/ wieder löschen?
Ich finde leider keine Doku dazu.
Tabelle bei Update löschen
- Talk19zehn
- Ehemaliges Teammitglied
- Beiträge: 5014
- Registriert: 08.06.2009 12:03
Re: Tabelle bei Update löschen
Hi, hilft dir jenes Thema in Details:
viewtopic.php?p=1342027#p1342027
Und/oder
viewtopic.php?f=140&t=233275
Bin aber nicht Up-to-date hinsichtlich deiner angesprochen Thematik, die relativ umfangreich ist/sein kann.
Grüße
viewtopic.php?p=1342027#p1342027
Und/oder
viewtopic.php?f=140&t=233275
Bin aber nicht Up-to-date hinsichtlich deiner angesprochen Thematik, die relativ umfangreich ist/sein kann.
Grüße
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Re: Tabelle bei Update löschen
Erst mal Dank für deine Antwort. Den Beitrag von gn36 habe ich auch schon mal durchgewühlt aber nichts passendes gefunden.
Das einfügen einer Tabelle mache ich so.
Aber mit welchen Befehl lösche ich die wieder wenn ich die zum Beispiel ändern oder ganz löschen will?
Das einfügen einer Tabelle mache ich so.
Code: Alles auswählen
public function update_schema()
{
return array(
'add_tables' => array(
$this->table_prefix . 'testtable' => array(
'COLUMNS' => array(
'testtable' => array('TEXT',''),
'testtable_bbcode_uid' => array('VCHAR:8', ''),
'testtable_bbcode_bitfield' => array('VCHAR:255', ''),
'testtable_bbcode_options' => array('INT:11', '7'),
),
),
),
);
}
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Tabelle bei Update löschen
das geht ziemlich ähnlich (ich hoffe ich habe mich auf die schnelle nicht vertippt):
Die Befehle können alle jeweils sowohl in der revert_schema, als auch in der update_schema Methode verwendet werden.
Siehe auch https://wiki.phpbb.com/Migrations/Schema_Changes
Du kannst auch einfach einen Blick in phpBBs Migrationen werfen, wie das da realisiert ist. Die findest du unter
Code: Alles auswählen
public function revert_schema()
{
return array(
//Tabellen entfernen
'drop_tables' => array('tabellenname1', 'tabellenname2'),
// Spalten entfernen
'drop_columns' => array(
'tabellenname' => array(
'spaltenname',
),
),
// Neue Tabellenspalten
'add_columns' => array(
'tabellenname' => array(
'spaltenname' => array('eigenschaften'),
),
),
// Tabellenspalten ändern
'change_columns' => array(
'tabellenname' => array(
'spaltenname' => array('neue eigenschaften'),
),
),
),
}
Siehe auch https://wiki.phpbb.com/Migrations/Schema_Changes
Du kannst auch einfach einen Blick in phpBBs Migrationen werfen, wie das da realisiert ist. Die findest du unter
phpbb/db/migration/data
. Es gibt auch ein paar Protoypklassen, die du für spezielle Aktionen in der Migration als Basis nehmen kannst. Zum Beispiel die container_aware_migration.php
in phpbb/db/migration/
, welche dir den Klassencontainer auch in der Migration zur Verfügung stellt (so dass du z.B. spezielle Klassen deiner Erweiterung oder phpBB Standardklassen darüber laden kannst), oder eine mit der du sehr leicht neue benutzerdefinierte Profilfelder anlegen kannst.Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Tabelle bei Update löschen
Erst mal Dank für deine Mühe.Scheint doch etwas komplizierter zu sein.
Ich hatte eigentlich gedacht es gibt einen einfachen Befehl und Tabellenname, dann ist es weg.In der Wiki finde ich erst mal nichts dazu.
Ich muss am WE das erstmal ausprobieren.
Ich hatte eigentlich gedacht es gibt einen einfachen Befehl und Tabellenname, dann ist es weg.In der Wiki finde ich erst mal nichts dazu.
Ich muss am WE das erstmal ausprobieren.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Re: Tabelle bei Update löschen
Das stimmt ja auch: Ein Befehl und die Tabelle ist weg. Schau dir meine Kommentare an - drop_tables entfernt alle im array angegebenen Tabellen.
Ist also genau ein Befehl zum Löschen, den du in der Methode
Ich habe lediglich versucht alle möglichen Fälle kompakt zusammen darzustellen, damit das wenn irgendwer das gleiche Problem hat auch bei Fällen wie "Spalte wieder entfernen" oder "Spalte (wieder) hinzufügen" hilft.
Ist also genau ein Befehl zum Löschen, den du in der Methode
revert_schema
zurückliefern musst. Ich habe lediglich versucht alle möglichen Fälle kompakt zusammen darzustellen, damit das wenn irgendwer das gleiche Problem hat auch bei Fällen wie "Spalte wieder entfernen" oder "Spalte (wieder) hinzufügen" hilft.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Re: Tabelle bei Update löschen
Hallo gn36. Hab jetzt alles durchprobiert. Dank für deine Anleitung. funktioniert alles.