Domanda

Sto valutando liquibase per un progetto che inizia oggi.

Qualcuno l'ha usato per creare procedure, funzioni, praticamente tutte le cose di plsql?

In caso contrario, è possibile scrivere codice sql incorporato nei file XML?

Grazie in anticipo.

È stato utile?

Soluzione

Esiste un tag createProcedure incorporato in liquibase per la gestione delle procedure . L'approccio migliore è di solito combinare i tag o con runOnChange in modo che liquibase aggiorni la procedura quando e solo quando si aggiorna la definizione. In questo modo puoi fare differenze nel tempo tra i file xml del log delle modifiche e vedere come è cambiata la procedura.

L'uso del tag sqlFile per fare riferimento al file di riferimento per stored procedure è anche popolare o, come hai detto, puoi utilizzare il tag sql per inline sql personalizzato.

Altri suggerimenti

Ho riscontrato problemi nel tentativo di utilizzare il tag sql per stored procedure, trigger e funzioni, ma nel mio caso si sono verificati problemi con il driver MySQL JDBC e non con Liquibase stesso. La pratica in cui mi sono accontentato è quella di utilizzare il refactoring sqlFile come suggerisce Nathan, quindi controllare il codice SP / trigger / function nello stesso progetto del log delle modifiche, aggiornato con il sistema di codice sorgente. Ciò ti consente di gestire il codice SP / qualunque sia il codice sorgente reale.

Impostazione runOnChange = " true " nel changeSet che contiene il refactoring sqlFile è essenziale. È questo interruttore (grazie, Nathan) che consente il vero controllo del codice sorgente del database procedurale.

Anche se non ho usato liquibase per le procedure memorizzate, ho una certa esperienza di Liquibase per operazioni più generiche.

È possibile scrivere sql personalizzato, incorporato nel file xml o referenziato da un file esterno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top