Wie gut ist BuildSchema der NHibernate?

stimmen
2

Ich habe vor kurzem bei NHibernate gesucht und versucht, die Ins und Outs zu lernen. Eine Sache, die ich habe bemerkt, in einigen Artikeln war die Verwendung von BuildSchema eine prüfbare Datenbank zu erstellen.

Das spezielle Beispiel SqlLite als Datenbank verwendet. Kann BuildSchema vertraut wird Ihre Datenbank zu erstellen, oder ist es immer noch am besten Ihr eigenes Datenbank-Schema in der üblichen Weise zu schaffen? In meinem Fall mit SQL Server Management Studio.

Update: Beide Antworten scheinen gültige Ratschläge zu geben, ich würde nicht sagen , diese Frage hat eine „Antwort“ so dass ich nicht eine besonders Antwort als die definitive markieren. Allerdings habe ich gestimmt Sie Ihren Rat sowohl nach oben als für.

Die allgemeine Idee scheint zu sein, BuildSchema in der frühen Entwicklung zu verwenden, bevor das Datenbank-Design siedelt dann auf erstellen bewegen / SQL-Skripts zu ändern, während der Versionskontrolle verwenden.

Veröffentlicht am 09/12/2008 um 23:24
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
2

Bei dem Versuch, möglichst nahe an eine Domain Driven Design-Methodik wie möglich zu halten, verwende ich NHibernate mein Schema während der Entwicklung zu bauen. Sobald die App ein gewisses Maß an Stabilität (die Domänenmodell Abwanderungs hat deutlich verlangsamt) oder ein Meilenstein Release erfüllt wurde erreicht hat, wechsle ich auf das Verfahren K. Scott Allen in seinem Blog diskutiert.

K. Scott All Blog - Artikel auf Datenbank - Schema - Versionierung

Ash Tewari hat eine Änderung Skript mgmt System implementiert, das NHibernate verwendet, die auf Allens Blog-Artikel über diese basiert.

Ash Tewari der DbUpdater

Beantwortet am 10/12/2008 um 04:07
quelle vom benutzer

stimmen
2

Gegen Beginn eines Projekts ist, kann sinnvoll sein, das Schema von BuildSchema erzeugt zu haben, aber wenn Sie sind und laufen mit einer gewissen kritischen Masse (oder wenn Sie etwas für andere freigegeben) Sie müssen Änderungen im Code mit Änderungen in der koordinieren Schema. Das nicht mit der buildschema Methode arbeiten.

In unseren Projekten schaffen wir Upgrade- und Downgrade-Skripte für jede changeset, die eine Datenbankänderung erfordert. Wir haben nicht diesen Prozess automatisiert, aber die Praxis ermöglicht es Entwicklern, auf eine aktuelle Version zu erhalten, indem die inkrementelle Änderung Skripte ausgeführt und zurück zu einer früheren Version zu erhalten, indem die Herabstufung Skript ausgeführt wird.

Jedes Skript ist eine eigene Datei und kann mehr als eine Änderung DDL enthalten und oder DML zu migrieren Daten usw.

Wir nehmen nur wirklich Herabstufungen verwenden, wenn es eine Änderung gibt, die mit früheren Versionen unvereinbar wäre (diese sind selten auf unseren Projekten).

Beantwortet am 09/12/2008 um 23:59
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more