2008-09-22 11 views
5

Ich verwende NHibernate 2 und PostgreSQL in meinem Projekt. Die Klasse SchemaExport macht einen guten Job und erzeugt ein DDL-Schema für die Datenbank, aber es ist großartig, bis zur ersten Anwendung.Wie kann ich "Migration" DDL von NHibernate Mapping-Dateien generieren?

Gibt es eine Möglichkeit, "Migration" DLL (Stapel von "ALTER TABLE" anstelle von DROP/CREATE-Paar) mit NHibernate Mapping-Dateien zu generieren?

+0

* Generieren - Bitte Korrektur lesen. – GEOCHET

+1

Bitte mehr explisit sein –

Antwort

10

Schauen Sie in SchemaUpdate. Sehr ähnliche API wie SchemaExport, aber es erstellt nur Migrationen.

0

Während SchemaUpdate sehr meine Bedürfnisse erfüllt, hat es immer noch einige Probleme. Zum Beispiel lehnt es ab, eine neue Beschränkung für die existierende Datenbankspalte zu setzen, auch wenn sie nicht mit bestehenden Daten kollidieren wird.

Ich gehe vor, um SchemaUpdate ein wenig zu erweitern oder, falls fehlgeschlagen, zu einem dieser handgesteuerten Migrationstools (zum Beispiel Rails one) zu wechseln.