Hallo,
ab und zu hatte ich bei den Projekten das Problem, dass ich große DB dumpen musste. Der Re-Import war dann immer die Herausforderung, wg maximaler Ausführungszeit, maximalen Upload etc.
So habe ich mir ein einfaches Tool im Oxid-Framework erstellt, dass mir die ausgewälten DB Tabellen in splittet und in mehrere Dateien exportiert.
Im ersten Schritt werden die in der DB gespeicherten Tabellen ausgegeben.
Anschließend wählt der User seine gewünschten Einstellungen - analog zu PMA:
- drop / truncate
- insert / replace
- Struktur / Daten / Struktur und Daten
- Split nach x Inserts
Der Controller extrahiert die Struktur der Tabellen und speichert diese ab.
Anschließend wird pro Tabelle der entsprechende partielle Dump gemacht - Limits ergeben sich aus Anzahl der Zeilen div Split.
Eine rudimentäre Prüfuung testet den Spaltentyp und escaped bei Bedarf das Feld für den Insert.
Anhang:
Controller für das application/controller/ Verzeichnis
Template für das application/views/{mein theme}/tpl/page/info/ Verzeichnis
In die application/views/{mein theme}/tpl/layoutt/base.tpl gehört dann folgender JS:
<script>
$(document).ready( function() {
$('#skmyadmin').click(function() {
var wert_2=$('select[name=table_names]').val().join(",");
$('input[name=mytables]').val(wert_2);
$('#database_table').submit();
});
});
</script>
Gerne kann das jemand weiter ausführen und bei Github einstellen.
Es gehört sich, den ganzen dump in Ticks aufzuteilen und so evtl. einen Timeout umzugehen.
Aktuell mache ich noch das Gegenstück - einen Bulk-Import der Dateien in den Oxid Shop
Einsatz natürlich auf eigene Gefahr, ohne Garantie!
Viel Spaß damit
LG
Stephan