2010-03-11 9 views
1

J'ai écrit une application pour configurer une plate-forme que nous avons. Notre processus actuel consiste à modifier la configuration dans un environnement intermédiaire et, une fois approuvés, à apporter les mêmes modifications dans un environnement de production.Sauvegarde des transactions LINQ vers SQL à réexécuter plus tard?

Il y a place à l'erreur dans ce processus, car il y a un risque que l'utilisateur effectue par erreur une modification de production qui n'a pas été approuvée dans la mise en attente. Il serait facile de cliquer sur le mauvais bouton ou de sélectionner le mauvais choix dans une liste si l'utilisateur ne fait pas attention. Je pensais que ce risque serait atténué si nous pouvions enregistrer toutes les opérations LINQ-to-SQL qui placent l'environnement intermédiaire dans son état approuvé actuel, et réexécuter ces opérations sauvegardées dans l'environnement de production, au lieu de faire les mêmes changements manuellement.

Je suppose que ce que j'essaie de vous demander, c'est s'il y a un moyen de «scinder» les insertions/mises à jour/suppressions effectuées par mon LINQ-to-SQL?

Est-ce une idée réaliste? Sinon, quelqu'un pourrait-il suggérer une approche différente de ce problème?

Merci

Dave

+0

Regarder avec intérêt ... – spender

Répondre

1

Compte tenu de votre réel problème (à savoir la propagation des changements de configuration de la mise en scène à la production) Je pense qu'une meilleure solution serait de développer un mécanisme de prise/appliquer des «instantanés de configuration» plutôt que de consigner et d'appliquer des actions qui ont produit la configuration dont vous avez besoin.

solution Vous (requêtes de journalisation de contexte de données) présente les inconvénients suivants qui se trouvait à la surface:

  • il dépend de l'état initial de la configuration (vous allez rencontrer des problèmes dans le cas où votre configuration de production diffère de la configuration de la mise en scène lorsque vous commencez à enregistrer vos actions)
  • vous avez affaire à une liste d'actions (ce qui peut être assez complexe) alors que vous êtes réellement intéressé par le résultat de ces actions - il est donc préférable d'enregistrer le résultat final
+0

@AlexS: Votre suggestion de «prendre/appliquer des instantanés de configuration» serait idéale pour ce que j'essaie d'accomplir. Le problème avec cela est la base de données de production a un utilitaire de réplication en cours d'exécution qui nous empêche de l'écraser avec un nouvel instantané. La réplication peut être désactivée pour appliquer l'instantané, mais cela nécessite l'implication de SysAdmin, ce qui représente beaucoup de frais généraux. – DaveDev

Questions connexes