Question

Quelqu'un sait-il d'une technique pour empêcher quelqu'un (moi!) Commettre accidentellement un fichier avec une chaîne de connexion de base de données publique dans à Google Code. Je dois exécuter des tests unitaires sur la base de données de ma machine locale (mettre à jour le schéma DB) mais je crains que je vais oublier que j'ai changé la connexion pour pointer vers le DB public, puis vérifier le code dans SVN.

Bien sûr, il est peu probable de se produire pour la première fois, mais probablement après 5 ou 10 fois.

Quelle est la meilleure façon de gérer cette situation?

Était-ce utile?

La solution

secondes Emil H proposition avec un ajout: vous devez ignorer via svn: ignore -property le fichier de configuration correcte

par exemple votre config-fichier doit résider sur:

./config/app.conf

vous devez ignorer ce fichier pour la subversion:

svn propset svn:ignore "app.conf" ./conf

et copiez le app.conf à app.conf.example et ajouter ce fichier à la subversion:    cp app.conf app.conf.example    svn ajouter app.conf.example

Subversion ne sera jamais essayer d'ajouter votre fichier app.conf à votre dépôt (et vos collègues ne peuvent pas commettre accidentially ce fichier!)

Autres conseils

Je crée généralement un fichier de configuration par défaut appelé quelque chose comme myapp.config.default, qui ne contient pas de mots de passe et ajouter ce fichier au référentiel au lieu de mon fichier de configuration réelle.

Voici la solution que je l'utilise pour une application Web. Tout d'abord, je ne veux pas ignorer le fichier web.config dans svn, car il contient des informations importantes qui peuvent et vont changer. Ainsi, je tire la chaîne de connexion de la Web.Config, placez-le dans un fichier appelé WebCS.config puis utilisez la directive du SVN pour éviter de vérifier dans juste ce fichier.

Pour ce faire, placez la ligne suivante « inclure » dans le web.config:

 <connectionStrings configSource="WebCS.config"/>

Ensuite, créez le fichier WebCS.config et entrez les informations suivantes:

<connectionStrings>
<add name="ConnString" 
         connectionString="Data Source=YourServer;Initial Catalog=YourDB;etc..
         providerName="System.Data.SqlClient"/>
</connectionStrings>

Cela rend également facile à mettre à jour les sites Web: il suffit de télécharger tous, mais le fichier WebCS.config (j'ai un fichier batch pour supprimer le fichier après « la publication » du site). Vous serez alors assuré que tous les paramètres du fichier web.config aller avec vous sans déconner avec votre chaîne de connexion et vous serez assuré que votre dépôt ne manque pas un fichier important et vous ne serez pas exposer votre chaîne de connexion .

Permettre à vos données de configuration être remplacées par un fichier de configuration locale, certains fichiers dans votre répertoire personnel. Inclure dans la logique de l'application d'une hiérarchie d'emplacements pour localiser le fichier de configuration.

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