Comment synchroniser la firebase database de développement et de production

Connaissez-vous des applications pour synchroniser deux bases de données? Lors du développement, il est parfois nécessaire d’append une ou deux lignes de tableau ou une nouvelle table ou colonne. En général, j’écris chaque instruction sql dans un fichier et, pendant le téléchargement, j’exécute ces lignes sur ma firebase database de production (précédemment sauvegardée). Je travaille avec des bases de données mySQL et postreSQL.

Quelle est votre pratique et quelles applications vous aident à cela?

Vous avez demandé une réponse à un outil ou à une application, mais ce dont vous avez vraiment besoin est une réponse au processus. Le thème sous-jacent ici est que vous devez mettre à jour votre firebase database DDL (et DML, si nécessaire) et fournir des scripts de modification pour pouvoir mettre à jour toute version de votre firebase database vers une version supérieure.

Cet ensemble de liens fournis par Jeff Atwood et écrits par K. Scott Allen explique en détail à quoi cela devrait ressembler – et ils le font mieux que je ne peux le faire ici: http://www.codinghorror.com/blog/ 2008/02 / get-your-database-under-version-control.html

Pour PostgreSQL, vous pouvez utiliser un autre outil Diff de PostgreSQL . Il peut différer très rapidement deux Dumps SQL (quelques secondes sur une firebase database avec environ 300 tables, 50 vues et 500 procédures stockées). Ainsi, vous pouvez facilement trouver vos modifications et obtenir un diff SQL que vous pouvez exécuter.

De la page APGDiff:

Un autre outil différentiel de PostgreSQL est un simple outil de diff de PostgreSQL qui est utile pour les mises à niveau de schéma. L’outil compare deux fichiers de vidage de schéma et crée un fichier de sortie adapté (après quelques modifications faites à la main) à la mise à niveau de l’ancien schéma.

Avoir des scripts (sous le contrôle des sources bien sûr) que vous n’ajoutez jamais qu’au fond. Cela, combiné avec des restaurations régulières de votre firebase database de production à dev, vous devriez être en or. Si vous êtes ssortingct à ce sujet, cela fonctionne très bien.

Sinon, je sais que beaucoup de gens utilisent des outils Redgate pour SQLServer.

Un autre vote pour RedGate SQL Compare

http://www.red-gate.com/products/SQL_Compare/index.htm

Je ne voudrais pas vivre sans elle!

Edit: Désolé, il semble que ce ne soit que pour SQL Server. Pourtant, si des utilisateurs SQL Server ont la même question, je recommanderais certainement cet outil.

Si vous écrivez vos instructions SQL pour votre firebase database de développement (qui sont, j’imagine, des séries d’instructions DDL telles que CREATE, ALTER et DROP), pourquoi ne les gardez-vous pas en les enregistrant dans un tableau avec une “version “index? Vous pourrez alors:

  1. suivre vos modifications de version
  2. faire une petite routine permettant la mise à jour “automatique” de votre base de production en envoyant les instructions enregistrées à la firebase database.

J’aime beaucoup les outils EMS .

Des outils sont disponibles pour toutes les bases de données populaires et vous bénéficiez de la même expérience utilisateur pour chaque type de firebase database.

L’un des outils est le DB Comparer.

CRAPAUD

sauvé plusieurs ânes plusieurs fois dans le passé. Pourquoi les gens utilisent-ils SQL sans stratégie de sortie?

le redgate est bon aussi.

Siebel (produit de gestion CRM, Sales, etc.) dispose d’un outil intégré pour aligner la firebase database de production avec celle de développement (dev2prod).

Sinon, vous devez vous en tenir aux scripts exécutés manuellement.

Navicat dispose d’un assistant de synchronisation de structure qui gère cela.

Je résous ce problème en utilisant Hibernate . Il peut détecter et créer automatiquement des tables, des colonnes, etc. manquantes

Vous pouvez append une automatisation à votre façon de faire en utilisant dbDeploy ou un script similaire. Cela vous permettra de suivre vos modifications de schéma et de mettre à niveau / annuler votre schéma comme bon vous semble.

Voici un script linux bash que j’ai écrit pour la synchronisation des bases de données Magento … mais vous pouvez facilement le modifier pour d’autres utilisations 🙂

http://markshust.com/2011/09/08/syncing-magento-instance-production-development

DBV – “Contrôle de version de firebase database, facile!” (PHP)