J’ai essayé de rechercher cette question sur le débordement de la stack, mais je n’ai trouvé aucune question à ce sujet. Je suis nouveau sur liquibase et veut savoir pourquoi liquibase? Et quand exactement faut-il utiliser liquibase dans le projet?
Je sais que cela consiste à conserver toutes les modifications de la firebase database en un seul endroit, mais la même chose peut être faite en créant un fichier SQL simple dans un système de référentiel et en le mettant à jour avec le temps.
Le principal facteur de différenciation entre un fichier de création de schéma autogéré et Liquibase (ou d’autres outils de migration de schéma ) est que ce dernier fournit un journal des modifications de schéma. Ceci est un enregistrement des modifications du schéma au fil du temps. Il permet au concepteur de firebase database de spécifier les modifications apscopes au schéma et de permettre la mise à niveau ou la mise à niveau par programmation du schéma à la demande.
Il y a d’autres avantages, tels que:
Un autre outil est celui des voies de migration .
Vous choisirez d’utiliser un outil de migration de schéma lorsque vous souhaitez ou devez gérer automatiquement les mises à jour de schéma sans perte de données. En d’autres termes, le schéma doit changer après le déploiement de votre système dans un environnement de longue durée, tel qu’un site client ou un environnement de test stable.
J’ai vu liquibase créer de la discipline parmi les développeurs en ce qui concerne la modification du schéma. Vous ne pouvez pas aller et écraser les changements et exécuter d’autres développeurs. Au lieu de cela, créez votre propre ensemble de modifications, ajoutez-le à la fin de la séquence de modifications à exécuter. Cela apporte également de la clarté sur le changement qui a eu lieu et qui l’a apporté.
Une approche très “versionnée” de la maintenance des schémas.
Pour les débutants, cela donne cependant une impression de “travail inutile”.
Lorsque vous avez plusieurs instances de firebase database en dev, qa, production et que vous voulez avoir un outil pour suivre automatiquement l’historique des modifications et appliquer intelligemment les modifications (appliquer le schéma actuel et le schéma final), des outils comme liquibase ou flyway seront très utiles .
Je pense que Liquibase est génial lorsque votre philosophie est que la firebase database est une reflection après coup. Cette philosophie a causé la majorité des mauvaises bases de données en production – et la plupart d’entre elles sont mauvaises. Une firebase database doit être conçue avec une vue complète de l’ensemble du système de gestion, et non par des développeurs d’applications travaillant chacun dans leur propre silo. Cette dernière méthode aboutit à des solutions de rechange, à des données dénormalisées, à des relations médiocres entre les tables, à la duplication des domaines d’activité et à un système malpropre à coûts de maintenance élevés que le client déteste peu après le déploiement. Si une firebase database est conçue pour refléter fidèlement les relations commerciales, sa durée de vie sera cinq fois plus longue et atteindra son objective cinq fois mieux que celui conçu de manière fragmentée, comme le sont malheureusement la plupart d’entre elles.
Liquibase n’est pas un problème en soi mais il permet aux développeurs d’applications de concevoir la firebase database. C’est le problème.