Code de structure d’entité en premier – comment exécuter Update-Database pour la firebase database de production

Je veux savoir comment exécuter la commande ‘Update-Database’ pour une firebase database de production.

La firebase database ‘Update-Database’ fonctionne bien depuis mon ordinateur local, mais comment puis-je l’utiliser pour les données de production?

Donc, si je modifie mon application et que je lance la publication via Visual Studio, cela fonctionne bien du côté du code, mais comment exécuter la commande ‘Update-Database’ pour les données de production.

J’espère que cette question a du sens …

Merci,

Pour append ce que @David a déjà dit …

Personnellement, je ne fais pas confiance aux automatic updates à automatic updates dans les scénarios «live», et je préfère toujours l’administration manuelle des bases de données (c’est un problème avec les permissions nécessaires pour créer ou modifier Db, sans parler de l’hébergement partagé). Nous avons constaté que les migrations sont assez solides pour la synchronisation (en fait, la seule façon de les “délier” normalement est de supprimer la firebase database et de forcer la mise à jour complète / complète).

Voici un article que j’ai script il y a quelque temps sur la manière de script et de synchronize database / code et axé sur des scénarios de déploiement (et lorsque des problèmes surviennent). Cela ne vous concerne pas (encore) mais quelque chose à garder à l’esprit.

MVC3 et Code First Migrations – “le modèle” blah “a changé depuis la création de la firebase database”

Voir Utilisation des migrations Entity Framework (code en premier) dans la production pour que votre application mette automatiquement à jour la firebase database lors de l’initialisation d’Entity Framework.

Maintenant, si vous êtes plus à l’aise avec le contrôle manuel de la migration, vous pouvez utiliser l’argument -Script de la commande Update-Database sur votre machine de développement pour générer des scripts SQL que vous pouvez ensuite exécuter sur la firebase database de production.

http://msdn.microsoft.com/en-us/data/jj591621.aspx (voir la section Obtention d’une section de script SQL)

Voulez-vous simplement mettre à jour automatiquement la firebase database vers la dernière version quand et où vos applications s’exécutent (développement et production)?

Ce n’est peut-être pas une bonne idée, sauf dans des scénarios très simples où vous savez que vous pouvez faire confiance à la migration automatique et que la migration manuelle de la ou des bases de données est impossible. S’il vous plaît voir cette réponse: https://stackoverflow.com/a/15718190/2279059 . Si vous ignorez cet avertissement, lisez la suite.

Ajoutez ce qui suit à web.config :

       

Cela peut sembler effrayant, mais il fait essentiellement le même que le code suivant:

 Database.SetInitializer(new MigrateDatabaseToLatestVersion()); 

Si vous n’avez pas de chance avec web.config , vous pouvez également essayer de mettre ce code dans Global.asax . Personnellement, je préfère la configuration au code.

Si vous voulez que votre fichier de configuration soit plus propre, vous pouvez également dériver une nouvelle classe du modèle MigrateDatabaseToLatestVersion afin de ne pas avoir à utiliser la syntaxe cryptique pour transmettre des arguments de type dans votre fichier web.cofig :

 public class MyDatabaseInitializer : public MigrateDatabaseToLatestVersion {} 

Cela permet de définir un initialiseur de firebase database qui met automatiquement à jour la firebase database vers la dernière version.

(Source et plus de détails: http://www.ralphlavelle.net/2012/09/entity-framework-code-first-webconfig.html )