2009-07-04 7 views
9

ho bisogno di aggiornare i miei dati che hanno tag html all'interno in modo scritto questo liquibasecome inserire il tag html all'interno di sql nella migrazione di Liquibase?

<sql> update table_something set table_content = " something <br/> in the next line " </sql> 

apparentemente non funziona su liquibase (ho ottenuto errori moooolto .. e senza senso). Ho provato a rimuovere <br/> e funziona.

la mia domanda è, è possibile inserire/aggiornare qualcosa che contiene tag xml in Liquibase?

Sto usando liquibase 1.9.3 con Grails 1.1.1

modificato: dimenticato di impostare tag di codice nei miei esempi.

+0

La tua domanda non è davvero chiaro. Potresti spiegare un po 'di più qual è la tua impostazione? Stai usando XML liquibase direttamente per definire i tuoi changeset o usi la DSL fornita dal plugin autobase grails? Il tuo "aggiornamento ..." è qualcosa che provi ad eseguire in un refactoring sql personalizzato (http://www.liquibase.org/manual/custom_sql)? –

+0

scusa mi sono dimenticato di aggiungere la formattazione del codice nel mio esempio. stavo cercando di eseguire una migrazione che contiene i comandi "sql" e dentro ho messo un tag html/xml. – nightingale2k1

risposta

15

Come l'autore del liquibase cita here, è necessario aggiungere la sezione CDATA all'interno di <sql>.

Nel vostro esempio particolare che sarebbe diventato:

<sql><![CDATA[ update table_something set table_content = " something <br/> in the next line " ]]></sql> 
4

Ancora meglio non utilizzare un tag <sql> a tutti (ho aggiunto la clausola dove ...):

<changeSet author="author" id="table_something_1"> 
    <update tableName="table_something"> 
     <column name="table_content"><![CDATA[ something <br/> in the next line ]]></column> 
     <where>id=1</where> 
    </update> 
    <rollback /> 
</changeSet> 
Problemi correlati