4 votes

Puis-je spécifier dans database.yml qu'un environnement rails doit avoir un accès en lecture seule à la BD ?

Nous avons une application avec une configuration de base de données assez standard. Sur les serveurs en ligne, si je veux interroger le contenu de la base de données, je dois lancer l'opération suivante script/console production o script/dbconsole production et je risque de modifier accidentellement nos données. Je voudrais créer un nouvel environnement rails avec un accès en lecture seule à la même base de données, afin de pouvoir exécuter script/console readonly o script/dbconsole readonly sans le risque. J'ai vu des solutions qui impliquent l'ajout d'un nouvel utilisateur mysql, ou le singe Parcheando ActiveRecord::Base. Je ne veux pas faire cela - je veux spécifier dans database.yml que la connexion à la base de données doit être en lecture seule. Est-ce possible, et si oui, comment dois-je faire ? J'ai essayé d'ajouter readonly: true mais c'est ignoré.

4voto

Simone Carletti Points 77653

Vous pouvez utiliser la console en mode sandbox. En mode sandbox, toute modification de la base de données effectuée dans la console sera annulée lorsque vous quitterez la console.

$ script/console --sandbox

Vous ne pouvez pas spécifier le mode en lecture seule dans database.yml .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X