Question

Je suis en train d'évaluer liquibase un projet démarrant aujourd'hui.

Quelqu'un l'a-t-il utilisé pour créer des procédures, des fonctions, essentiellement tous les éléments plsql?

Sinon, est-il possible d'écrire du code SQL incorporé dans les fichiers XML?

Merci d'avance.

Était-ce utile?

La solution

Il existe une balise createProcedure intégrée dans Liquibase pour la gestion des procédures. . La meilleure approche consiste généralement à combiner les balises ou avec runOnChange afin que liquibase mette à jour votre procédure lorsque et uniquement lorsque vous mettez à jour la définition. De cette façon, vous pourrez faire des différences entre vos fichiers XML de changelog au fil du temps et voir comment la procédure a changé.

Utiliser la balise sqlFile pour référencer le fichier par stocké-proc est également populaire, ou, comme vous l'avez dit, vous pouvez utiliser le tag sql pour le remplacer. sql personnalisé.

Autres conseils

J'ai rencontré des problèmes lors de l'utilisation de la balise sql pour les procédures stockées, les déclencheurs et les fonctions, mais dans mon cas, il s'agissait manifestement de problèmes liés au pilote MySQL JDBC, et non à Liquibase lui-même. La pratique dans laquelle je me suis habitué consiste à utiliser le refactoring sqlFile comme Nathan le suggère, puis à contrôler le code SP / trigger / function dans le même projet que le changelog, versionné dans le système de code source. Cela vous permet de gérer le code SP / n’importe quel code, comme si c’était du code source réel.

Définition de runOnChange = " true " dans le changeSet contenant le sqlFile, le refactoring est essentiel. C’est ce commutateur (merci, Nathan) qui permet de contrôler réellement le code source de la base de données procédurale.

Bien que je n'ai pas utilisé liquibase pour les procédures stockées, j'ai une certaine expérience de Liquibase pour des opérations plus génériques.

Il est possible d'écrire un fichier SQL personnalisé, intégré au fichier xml ou référencé à partir d'un fichier externe.

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