Il y a eu quelques discussions sur le wiki de la communauté au sujet de si les objets de base de données doit être la version contrôlée. Cependant, je n'ai pas vu beaucoup de discussions sur les meilleures pratiques pour la création d'une version de l'automatisation des processus pour les objets de base de données.
Cela a été un point litigieux de discussion pour mon équipe - en particulier parce que les développeurs et les Administrateurs ont souvent des objectifs différents, des approches et des préoccupations lors de l'évaluation des risques et bénéfices d'une approche d'automatisation de déploiement de base de données.
J'aimerais entendre quelques idées de la communauté sur les pratiques qui ont été efficaces dans le monde réel.
Je me rends compte que c'est un peu subjectif, dont les pratiques sont vraiment le meilleur, mais je pense qu'un bon dialogue sur ce qui pourrait être utile à beaucoup de gens.
Voici quelques unes de mes teaser des questions sur les domaines de préoccupation dans cette rubrique. Il ne s'agit pas d'une liste définitive, mais plutôt un point de départ pour les personnes pour les aider à comprendre ce que je suis à la recherche pour.
- Devrait à la fois de test et de production des environnements être construit à partir de la source de contrôle?
- Devrait à la fois être construit à l'aide d'automation - ou devrais-production par construit par de la copie d'objets à partir d'un stable, a finalisé l'environnement de test?
- Comment traitez-vous avec les différences de potentiel entre le test et les environnements de production dans des scripts de déploiement?
- Comment faites-vous tester les scripts de déploiement permettra de travailler aussi efficacement contre la production comme ils le font dans le test?
- Quels types d'objets doit être la version contrôlée?
- Code (procédures, des packages, des triggers, java, etc)?
- Index?
- Les contraintes?
- Définitions De Table?
- Table Des Scripts De Modification? (eg. MODIFIER les scripts)
- Tout?
- Les types des objets ne doit pas être la version contrôlée?
- Les séquences?
- Les subventions?
- Les Comptes D'Utilisateur?
- Comment doit-objets de base de données être organisé dans votre référentiel SCM?
- Comment traitez-vous avec des choses comme les scripts de conversion ou de MODIFIER des scripts?
- Comment réagissez-vous face à la retraite des objets de la base de données?
- Qui devrait être responsable de la promotion des objets de développement, de test de niveau?
- Comment coordonnez-vous les changements à partir de plusieurs développeurs?
- Comment traitez-vous avec des branchements pour les objets de base de données utilisé par plusieurs systèmes?
- Quelles sont les exceptions, le cas échéant, peut être raisonnable apportées à ce processus?
- Les questions de sécurité?
- De données avec de l'identification des préoccupations?
- Les Scripts ne peuvent pas être entièrement automatisé?
- Comment pouvez-vous rendre le processus résilient et exécutoire?
- Développeur d'erreur?
- À des questions environnementales?
- Pour la reprise après sinistre?
- Comment voulez-vous convaincre les décideurs que les avantages de la DB-SCM vraiment justifier le coût?
- Des preuves anecdotiques?
- L'industrie de la recherche?
- L'industrie des recommandations de bonnes pratiques?
- Les appels à des autorités reconnues?
- L'analyse coût/Bénéfice?
- Qui devrait "propre" objets de base de données dans ce modèle?
- Les développeurs?
- Administrateurs de base de données?
- Les Analystes De Données?
- Plus d'un?