NHibernate SchemaUpdate erneut vorhandene Fremdschlüssel hinzufügen?

9

Ich verwende SchemaUpdate , um meine hbms mit der bestehenden Datenbank zu synchronisieren. Die Datenbank wurde kürzlich basierend auf hbms erstellt und ist vollständig auf dem neuesten Stand. Aber SchemaUpdate generiert alle Fremdschlüsseleinschränkungen erneut.

Angenommen, Sie haben Student und Teacher . Student hat eine Assoziation zu Teacher mit dem Namen ArtTeacher . ArtTeacher ist ein Fremdschlüssel von Student bis Teacher . Angenommen, die Datenbank ist aktuell und enthält derzeit Student , Teacher und ihre Fremdschlüsselbeziehung. Also sind HBM und Database gleichwertig. Wissen SchemaUpdate darf nichts tun, aber wenn ich seine generierten Skripte sehe, wird der Fremdschlüssel erneut erzeugt.

Warum passiert das? Gibt es eine Möglichkeit, es zu vermeiden?

    
Afshar Mohebbi 28.10.2010, 07:13
quelle

1 Antwort

1

Das Geheimnis besteht darin, sicherzustellen, dass Sie Namen für die Fremdschlüssel angeben, andernfalls generiert NHibernate einen zufälligen Namen, der nicht mit dem vorhandenen Schema übereinstimmt.

(Ich habe diese Antwort aus dem Google Cache von Afshars Blogpost gefischt).

    
cbp 28.05.2017 23:53
quelle