Question

En ce moment, j'ai le code qui crée la base de données (juste quelques requêtes sur une CREER base de données SQLite) dans ma classe d'accès de la base de données. Cela semble inutile que je n'ai pas l'intention de jamais utiliser le code. Je voudrais juste avoir besoin en cas de problème et je devais recréer la base de données. Dois-je ...

  1. Laisser les choses telles qu'elles sont, même si le code de création de base de données est d'environ un quart de ma taille de fichier.
  2. Déplacer le code base de données de création d'un script séparé. Il est probable que je vais exécuter manuellement si je dois l'exécuter à nouveau de toute façon, et que le mettrait hors de vue-out d'esprit tout en travaillant sur le code principal.
  3. Supprimer le code base de données de création et appuyer sur le contrôle de révision si je me trouve à nouveau en avoir besoin.
Était-ce utile?

La solution

Je pense qu'il est préférable de garder le code. Plus important encore, vous devez maintenir ce code (ou générer) à chaque fois que les modifications du schéma de base de données.

Il est important pour les raisons suivantes.

  1. Vous serez probablement surpris de voir combien de fois vous en avez besoin. Si vous devez migrer votre serveur, ou configurer un autre environnement (par exemple ESSAI ou DEMO), et ainsi de suite.
  2. Je trouve aussi que je me réfère à la SQL DDL assez souvent lors du codage, surtout si je ne l'ai pas touché le système pendant un certain temps.
  3. Vous avez une référence pour les décisions que vous faites, comme les index créés, clés uniques, etc etc.

Si vous ne disposez pas d'une approche disciplinée, j'ai trouvé que le schéma de base de données peut dériver au fil du temps que les changements ad hoc sont faites, et cela peut causer des problèmes obscurs qui ne figurent pas jusqu'à ce que vous frappez la base de données. Pire encore, sans une approche disciplinée (à savoir une définition de référence du schéma), vous pouvez constater que les différentes bases de données ont schéma légèrement différent.

Autres conseils

  

Je voudrais simplement avoir besoin si quelque chose est allé   mal et je devais recréer le   base de données.

Recréer la base de données est absolument pas un cas exceptionnel. Ce code fait partie de votre processus de déploiement sur un nouveau système / différent, et il représente la structure DB votre code attend pour travailler avec. Vous devriez en fait des tests d'intégration qui confirment. Travailler indéfiniment avec un seul serveur DB dont le schéma a été créé progressivement via des instructions SQL manuellement envoyé au cours du développement est pas quelque chose que vous devez compter sur.

Mais oui, il doit être séparé du code d'accès; si l'option 2 est correct. Le script séparé peut ensuite être utilisé par des tests, ainsi que pour le déploiement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top