Frage

Zum Testen von Code kopiere ich Daten aus einer Live -Datenbank in eine Testdatenbank mithilfe von SQLYOGs Option "Kopieren Sie sie auf unterschiedliche Host". Meistens ist das in Ordnung. Aber für einige Tabellen ist der Datensatz absolut riesig und ich brauche nur eine relativ kleine Teilmenge der Daten zum Testen. Mit der Kopie in einen verschiedenen Hostdialogfeld können Sie nur Struktur oder Struktur und Daten kopieren.

Wenn ich nur Teildaten möchte, muss ich a ausführen select * on table where condition Fragen Sie die Ergebnisse als SQL -Abfrage aus, importieren Sie diese Abfrage in den Testhost und führen Sie sie aus. Dies funktioniert zwar nicht gerade ein unterhaltsames Verfahren, insbesondere angesichts der Umstände, unter denen selbst die "kleine" Teilmenge der Testdaten immer noch viele Zeilen darstellt. Wenn einige der Daten bereits kopiert wurden, fügt dies weitere Komplikationen hinzu, da ich eine Abfrage schreiben muss, um eine Liste von Schlüssel für das Ziel zu erhalten, und dann eine hinzuzufügen where key not in (key list) Zustand auf den Hauptzustand.

Gibt es eine Möglichkeit, die Funktion "Kopieren auf unterschiedliche Hosts zu kopieren", um Zeilen nur selektiv in die Zieldatenbank zu kopieren?

War es hilfreich?

Lösung

Derzeit ist es nicht möglich, einen Bedingung für einzelne Reihen in der zu verwenden Sqlyog Tool kopieren. Solange nur eine einzelne Tabelle für die Kopie ausgewählt ist, ist sie in Ordnung, aber mit mehr Tabellen macht sie keinen Sinn.

Was Sie jetzt tun können, ist, eine kleine "Dummy" -Tabelle auf der Quelle zu erstellen und diesen zu kopieren. Der Workflow könnte wie:

1) Tabelle erstellen newtable Als ausgewählte * aus oldtable WO ...

2) Jetzt kopieren newtable Verwenden Sie Sqlyog GUI und geben Sie es bei Bedarf auf die Quelle ab

3) umbenennen newtable bei Bedarf auf Ziel

Dies reduziert den Netzwerkverkehr, um nur die Zeilen zu berücksichtigen, die Sie übertragen möchten. Und Sie vermeiden es, in eine Datei zu exportieren, da die "Reduktion" auf dem Quellserver aufbewahrt wird (weder Dateisystem noch Netzwerk).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top