Comment générer une «migration» DDL à partir de fichiers de mappage NHibernate?
-
02-07-2019 - |
Question
J'utilise NHibernate 2 et PostgreSQL dans mon projet. La classe SchemaExport fait un excellent travail en générant un schéma DDL pour la base de données, mais elle est géniale jusqu'à la première application.
Existe-t-il un moyen de générer une "migration"? DLL (lot de "ALTER TABLE" au lieu de la paire DROP / CREATE) à l'aide de fichiers de mappage NHibernate?
La solution
Recherchez SchemaUpdate . API très similaire à SchemaExport mais ne crée que des migrations.
Autres conseils
Bien que SchemaUpdate réponde beaucoup à mes besoins, il présente néanmoins plusieurs problèmes. Par exemple, il refuse d’imposer une nouvelle restriction à la colonne de base de données existante même si les données existantes ne sont pas en conflit.
Je ne suis pas du tout disposé à étendre un peu SchemaUpdate ou, en cas d'échec, à basculer vers l'un des outils de migration pilotés à la main (par exemple, Rails one).