Distingue visuellement la production
Tu as déjà lancé une commande en production en pensant être connecté à la staging ou à la dev ? Moi oui, et j’ai passé le reste de la journée à reconstituer un jeu de données à la main pour des clients très agacés.
La solution : rendre parfaitement évident le fait que tu es connecté à la production.
Un moyen simple d’y arriver, c’est de donner une identité visuelle différente à ta base de données de production.
Avec Beekeeper Studio, j’aime mettre ma base de production en red et ma base de staging en yellow. La barre d’état de Beekeeper s’adapte à la couleur choisie, donc je sais toujours quand je suis connecté à la production.
Vérifie les modifications avant de les appliquer
Si tu as deux clients qui s’appellent Adam Smith, c’est facile d’offrir une mise à niveau d’abonnement gratuite au mauvais Adam. Je parle d’expérience.
J’ai fait cette erreur plusieurs fois, parfois par ma faute, mais parfois à cause d’une interface de base de données confuse qui appliquait les modifications automatiquement et rendait difficile de comprendre ce qui s’était passé.
J’ai conçu Beekeeper Studio pour afficher clairement les modifications en attente, afin que tu voies ce qui va se passer avant de cliquer sur apply. Personnellement, j’aime utiliser le bouton Copy to SQL pour exécuter le SQL directement et vérifier le résultat dans une transaction avant de l’appliquer (voir plus bas), un autre workflow intégré à Beekeeper Studio.
Exécute le SQL risqué dans une transaction
J’adore les transactions. C’est comme avoir un gros bouton undo sur lequel cliquer dès que je fais une erreur.
Le plus étrange, c’est que je n’ai pas utilisé les transactions dans les interfaces de base de données pendant DES ANNÉES. Je les comprenais et je m’en servais souvent dans mes apps Ruby on Rails, mais je n’ai jamais trouvé d’interface qui montre clairement dans quel état de transaction j’étais. J’avais toujours l’impression de risquer davantage de me tromper, alors je les évitais complètement.
C’est cette peur de l’inconnu qui nous a poussés à passer un temps fou à peaufiner l’interface de transactions de Beekeeper Studio pour les rendre claires, transparentes et faciles à utiliser. Tu peux voir dans la vidéo qu’on sait clairement quand on est en mode transaction manuelle, et quelles actions permettent d’y entrer et d’en sortir.
Ne laisse pas de transactions ouvertes
Surprise ! Je viens de te dire à quel point les transactions sont géniales, non ? En fait, elles peuvent aussi poser problème. Si tu laisses une transaction ouverte, elle peut bloquer toute la base pour tout le monde. Ouvrir une transaction puis partir en week-end, ce n’est pas une bonne idée.

Imaginons que tu utilises des transactions, que tu fasses une modification, puis que tu ailles déjeuner. Tu as laissé la transaction ouverte ? J’espère que non : tu as peut-être bloqué l’accès à la base pour tout le monde pendant que tu finis tes raviolis.
Même si une transaction ouverte ne bloque généralement pas toute la base, elle peut quand même provoquer une panne si elle bloque d’autres transactions en production.
J’ai vu les dégâts de mes propres yeux, c’est pourquoi Beekeeper Studio annule automatiquement les transactions après un délai, généralement 10 minutes. Tu perds tes modifications, mais tu ne provoques pas de panne.
Utilise le mode lecture seule pour éviter les erreurs
Parfois, les boulettes sont inévitables. C’est pourquoi Beekeeper propose un mode Read Only : même si tes identifiants ont un accès complet, Beekeeper t’empêche de faire des modifications.
C’est simple : marque une connexion en lecture seule pour éviter de lancer par accident une requête destructrice, de supprimer un tableau ou de renommer tous les utilisateurs en Test User.
Pour faire des modifications, tu dois quitter explicitement le mode lecture seule.
Des garde-fous raisonnables pour ta base de production
Même si tu fais tout correctement et que tu réduis les risques de ton travail en production grâce à Beekeeper Studio, il reste judicieux de mettre en place les garde-fous suivants au niveau du système :
- Des sauvegardes régulières doivent être disponibles au cas où tu aurais besoin d’en restaurer une
- Entraîne-toi régulièrement à restaurer des sauvegardes
- Des nœuds secondaires de secours doivent être disponibles en cas de panne du nœud principal
- Ne partage pas les identifiants entre plusieurs personnes
- Limite au maximum les droits des identifiants de base de données
- Sois organisé et mets en place un processus de tickets pour les modifications en production
- Teste toutes les modifications en Dev et en Staging avant de les exécuter en Production (si possible)
Beekeeper est conçu pour la production
J’espère que ce guide t’aidera à travailler en production avec plus de confiance.
L’obsession de Beekeeper pour l’ergonomie va au-delà de son joli look : on a conçu nos workflows pour te donner confiance quand tu travailles en production et t’aider à éviter les erreurs involontaires.
Profite autant que nous du plaisir de ne pas supprimer la production par accident :-).
Beekeeper Studio est une interface de base de données gratuite & open source
Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.
Ce que les utilisateurs disent de Beekeeper Studio
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données à nouveau agréable. »
« J’ai essayé beaucoup d’interfaces de base de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »