Notre produit prend en charge plusieurs bases de données. À l'heure actuelle, nous soutenons FireBird et MSSql et il y a un futur support pour Oracle. Lorsque nous déployons une mise à jour pour notre produit, il est possible que nous ayons aussi besoin de mettre à jour le schéma de la base de données du client.Prise en charge de plusieurs SGBD; Meilleure stratégie de mise à jour des bases de données clients lors de la mise à jour?
Traditionnellement, nous avons des scripts qui sont assortis à la version DB, ce qui ferait des choses comme "Alter table add column" qui sont exécutées afin d'amener la base de données à la bonne version. Cela devient un problème parce que nous devons maintenir deux ensembles de scripts sql (avec d'autres sur le chemin si nous ajoutons Oracle au mixage).
Nous utilisons le Entity Framework dans notre couche db. L'EF contient déjà un schéma de la base de données. Je me demande - existe-t-il un moyen pratique d'utiliser l'EF et sa connaissance du schéma pour gérer les mises à jour de la base de données client?
EDIT -
C'est EF 4.0
Le problème avec le code de la première génération de schéma automatique est qu'il ne marche pas versioning de support, juste gouttes votre base de données et reconstitue encore, je ne pense pas que ses clients veulent que. Il en va de même avec la génération de schéma Nhibernate fluide, l'équipe EF est supposée travailler sur une solution de migration pour le prochain CTP. – ryudice
Découvrez http://stackoverflow.com/questions/366176/how-to-update-database-table-schemas-with-nhibernate-schema-generation. Je pensais EF4 ferait la même chose, mais je ne trouve rien –
Trouvé un non sur EF4 (officiellement): http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4 -code-premier-custom-database-schema-mapping.aspx # 7572584 –