SQL Azure-Schema-Upgrade-Strategie

8

Ich arbeite derzeit an einer asp.mvc-Anwendung mit Entity-Framework als db-Backend, die auf der ms azure-Plattform laufen wird.

Auf meiner Entwicklungsmaschine starte ich eine sqlexpress-Instanz, die meine Entwicklungsdatenbank hostet (wie ich sagte, kann die App über das Entity-Framework mit ihr verbunden sein).

Das Bereitstellen des Datenbankschemas von meinem lokalen sqlexpress nach sql azure ist mit dem Assistenten zur Generierung von Entitätsframework-Datenbanken ziemlich einfach (aus welchen Gründen auch immer möchte der Assistent Clustered-Indizes erstellen, die ich manuell in der generierten SQL-Datei korrigiere).

aber ich kann mir keinen Weg ausdenken, meine Daten zu behalten! Das automatisch generierte SQL-Skript speichert immer alle meine Tabellen ab und erstellt neue ... das ist ok für die anfängliche Einrichtung, aber nicht um eine existierende Datenbank zu aktualisieren.

Es muss eine gute Möglichkeit geben, ein Schema-Update ohne dataloss durchzuführen ... bitte helfen Sie! Ich habe bereits versucht, Sql Management Studio (R2) und SQLAzureMW (verfügbar auf Codeplex) ... aber sie tun nicht die Arbeit: (

Bitte sag mir nicht, dass ich mein eigenes Werkzeug dafür programmieren muss!

suche deine Hilfe

thx

Bearbeiten: Hier ist, wie ich es jetzt mache

Ich verwende die SQL-Scripts, die vom EF-Migrationsassistenten für mein lokales SQL Express erstellt wurden, und modifiziere sie selbst, um mit SQL Azure kompatibel zu sein. Ist weniger Arbeit, die man denken könnte und funktioniert perfekt :)

    
Matthias 12.11.2010, 02:34
quelle

3 Antworten

4

Haben Sie versucht, Ihre Daten mit BCP zu exportieren und dann zu importieren? Ich glaube, Sie sollten BCP verwenden können, um Daten aus Ihrer SQL Express-Instanz in eine Datei zu exportieren und anschließend Daten aus der Datei in SQL Azure zu importieren. Das SQL Azure-Team hat einen Blogeintrag, in dem die Verwendung von BCP mit SQL Azure beschrieben wird - Ссылка .

Darüber hinaus könnte die kommende Version von SQL Azure Data Sync CTP2 Ihnen in der Zukunft helfen.

Aus Neugier, welche Probleme haben Sie mit SQLAzureMW?

    
mcollier 12.11.2010 03:58
quelle
3

RedGate ist berühmt für SQL Server-Synchronisation und Datensynchronisation für die Bereitstellung.

Sie haben eine v9-Betaversion ihrer DataCompare- und SchemaCompare-Produkte, die mit SQL Azure kompatibel sind. Ich benutze beide erfolgreich und mag sie sehr.

Sie sind teuer, wenn Sie gekauft werden, wenn Sie ein kleines Unternehmen sind.

Ссылка

    
Igorek 12.11.2010 05:34
quelle
3

Das klingt ähnlich wie diese Frage , die einzige Antwort darauf ist "warte auf die nächste Version von Entity Framework". Ich gebe zu, dass ich EF nicht verwende, aber ich mache meine Änderungen an Tabellen auf die alte Art mit SQL Server Management Studio und Skripten. ALTER TABLE FTW.

BEARBEITEN: Wenn Sie keinen Zugriff auf SQL Server Management Studio haben, enthält die neue Version des SQL Azure-Portals eine Silverlight-basierte Anwendung, mit der Sie Abfragen und Skripts ausführen können

    
knightpfhor 12.11.2010 04:08
quelle