2010-07-05 3 views
2

Voici les règles du jeu:Comment intégrer les modifications de schéma à une base de données existante avec NHibernate?

0) Vous devez utiliser NHibernate;

1) Vous avez une base de données de travail avec des données qui doivent rester "actives" après la mise à jour;

2) Si vous avez 3 versions du schéma de base de données (1.0, 2.0 et 3.0) vous devriez pouvoir mettre à jour la version basse> haute. (high-> low est optionnel);

Je connais les méthodes schema.Create()/Update() mais je ne sais pas quelle est la meilleure configuration pour elles. Aussi, je veux savoir comment vous gérez réellement de telles situations.

Hala ...

Répondre

1

Ce que vous voulez est appelé "migration". Il n'y a pas d'outil de migration construit dans NHiberante. Vous devez utiliser des outils externes tels que tarentino, red get sql compare, etc.

+1

Tarantino sonne bien. Toutes les astuces situées au-delà du wiki de tarantino sont les bienvenues – mynkow

+1

Vous pouvez utiliser Tarantino combiné avec un script qui génère des migrations à partir de l'objet de session NHibernate en cours et des migrations précédentes. Cliquez sur un fichier .bat pour créer une nouvelle migration. Vous pouvez également intégrer Tarantino avec votre script de build, ou utiliser sql-command dans la compilation scipt lorsque les migrations sont très simples. Je n'utilise pas Tarantino d'une manière avancée, donc je ne peux pas vous donner un conseil au-delà du wiki. Les outils redgate sql peuvent valoir la peine quand vous devez sortir très fréquemment. – Paco

Questions connexes