von der Komplexität Ihres Schemas Je können Sie in der Lage sein, dies zu tun mit einem sorgfältig ausgearbeitet sed
-Befehl, findet alle Tabellenreferenzen und ergänzt die Tabellennamen mit "alt_".
Zum Beispiel wird dieser Befehl Ihr Schemas und Daten-Dump und den old_ Präfix zu dem Drop hinzufügen/table-Anweisungen sowie das Schloss erstellen/verändern Tabelle und fügen Sie Anweisungen:
mysqldump your_schema | sed -e 's/DROP TABLE IF EXISTS `/DROP TABLE IF EXISTS `old_/' -e 's/CREATE TABLE `/CREATE TABLE `old_/' -e 's/INSERT INTO `/INSERT INTO `old_/' -e 's/LOCK TABLES `/LOCK TABLES `old_/' -e 's/ALTER TABLE `/ALTER TABLE `old_/'
jedoch, dass Kommando
- Foreign Key Constraints
- Ansichten
- Tr: nicht das Tabellen-Präfix für eine der folgenden Arten von Tabellenverweise iggers
- Gespeicherte Routinen
Können Sie nicht einfach eine Suche durchführen und auf der Dump-Datei ersetzen? – liquorvicar
Der fragliche Dump enthält auch Inhalt und ist ziemlich groß (es stagniert die meisten Texteditoren). Auch die Begriffe existieren inhaltlich, was einen einfachen Ersatz recht trickreich macht. – kylex
Wie wäre es mit dem Kopieren der relevanten Tabelle und dann ignorieren die ursprüngliche Tabelle in der Dump? – liquorvicar