Frage

Ich mag die Datenbank eines Legacy-Web-App von SQL Server zu MySQL migrieren. Was sind die Einschränkungen von MySQL, die ich achten muss? Und was alle Einzelteile würde Teil einer umfassenden Checkliste sein, vor dem Sprung in den Code tatsächlich zu modifizieren?

War es hilfreich?

Lösung

Die erste, was ich überprüfen würde, ist die Datentypen - die genaue Definition von Datentypen variiert von Datenbank zu Datenbank. Ich würde eine Zuordnungsliste erstellen, die Tellme, was zu jedem der Datentypen abzubilden. Das wird dazu beitragen, die neuen Tabellen in dem Bau. Ich würde auch für Datentabellen oder Spalten überprüfen, die jetzt nicht verwendet werden. Kein Punkt sie bei der Migration. Machen Sie dasselbe mit Funktionen, Job, sps, etc. Jetzt ist die Zeit, die Junk zu reinigen.

Wie zugreifen Sie die Daten durch sps oder dynamische Abfragen aus der Datenbank? Überprüfen Sie jede Abfrage, indem es aganst eine neue Entwickler-Datenbank ausgeführt wird und sicherstellen, dass sie immer noch funktionieren. Auch hier gibt es Unterschiede zwischen dem, wie die beiden Varianten von SQl Arbeit. Ich habe meine SQL nicht verwendet, so bin ich nicht sicher, was einige der häufigsten Fehlerquellen sind. Während Sie gerade dabei sind Sie vielleicht neue Abfragen Zeit und sehen, ob sie optimiert werden kann. Optimierung variiert auch von Datenbank zu Datenbank und während Sie gerade dabei sind, gibt es wahrscheinlich einige schlecht Abfragen jetzt durchführen, dass Sie im Rahmen der Migration beheben können.

Benutzerdefinierte Funktionen müssen bei so gut betreut werden. diese vergessen Sie nicht, wenn Sie dies tun.

Vergessen geplante Aufträge nicht, diese müssen auch in myslq checkd und neu erstellt werden.

Importieren Sie alle Daten ona regelmäßigen Zeitplan? Alle Importe müssen neu geschrieben werden.

Schlüssel zu allem ist eine Testdatenbank und Test, Test, Test zu verwenden. Testen Sie alles besonders Quartals- oder Jahresberichten oder Jobs, die Sie vielleicht vergessen.

Eine andere Sache, die Sie tun möchten, ist alles durch Skripte, die Version gesteuert werden. Sie nicht auf die Produktion, bis Sie alle Skripte, um auf dev ohne Ausfälle laufen kann.

Andere Tipps

Eine Sache habe ich vergessen, stellen Sie sicher, dass die Entwickler-Datenbank Sie die Migration ausgeführt von (SQL Server-Datenbank) aus der Produktion vor jedem Testlauf sofort aktualisiert wird. Hass zu haben, etwas auf prod scheitern, weil Sie gegen veraltete Einträge Testen wurden.

Ihr Client-Code ist fast sicher der komplexeste Teil zu ändern zu sein. Es sei denn, Ihre Anwendung eine sehr hohe Qualität Testsuite hat, werden Sie eine Menge Tests zu tun, am Ende mit. Sie können sich auf nichts verlassen, um die gleichen, auch die Dinge arbeiten, die Sie erwarten.

Ja, die Dinge in der Datenbank selbst wird sich ändern müssen, aber der Client-Code ist, wo die Hauptsache ist, es jede Menge Arbeit und strengen Tests benötigen.

Vergessen Sie die Daten migrieren, dass das letzte, was die auf Ihrem Verstand sein sollte; das Datenbankschema kann wahrscheinlich ohne allzu große Schwierigkeiten umgewandelt werden; andere Datenbankobjekte (SPs, Ansichten usw.) könnten Probleme verursachen, aber der Client-Code ist, wo der Schwerpunkt der Probleme sein wird.

Fast jede Routine, die eine Datenbankabfrage werden müssen ausführt geändert, aber absolut alle von ihnen müssen getestet werden. Dies wird nicht trivial.

Ich bin derzeit die Suche unserer Anwendung Haupt Datenbank von MySQL 4,1-5 bei der Migration, das ist viel weniger ein Unterschied, aber es wird immer noch eine sehr, sehr große Aufgabe sein.

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