2009-07-04 22 views
9

muszę zaktualizować dane, które mają tag HTML wewnątrz więc napisałem to na liquibasejak wstawić znacznik html wewnątrz sql w migracji Liquibase?

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

najwyraźniej nie działa na liquibase (mam błędy loooong .. i bez znaczenia). Próbowałem usunąć <br/> i to działa.

moje pytanie brzmi, czy można wstawić/zaktualizować coś, co zawiera znacznik xml w Liquibase?

Używam liquibase 1.9.3 z Grails 1.1.1

edycja: zapomniał ustawić kod przykładowy tag w moich przykładach.

+0

Twoje pytanie nie jest naprawdę jasne. Czy mógłbyś wyjaśnić nieco więcej, jakie jest twoje ustawienie? Czy używasz XML-a bezpośrednio do definiowania zestawów zmian, czy używasz DSL dostarczonego przez wtyczkę autobase grails? Czy twoja "aktualizacja .." coś, co próbujesz wykonać w niestandardowym refaktoryzacji sql (http://www.liquibase.org/manual/custom_sql)? –

+0

Przepraszam, zapomniałem dodać formatowania kodu w moim przykładzie. Próbowałem wykonać migrację zawierającą polecenia "sql", a wewnątrz umieściłem znacznik html/xml. – nightingale2k1

Odpowiedz

15

Jako autor instrukcji płynnej wspomina o here musisz dodać sekcję CDATA wewnątrz <sql>.

W danym przykładzie, że stałaby się:

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

Nawet lepiej nie używać <sql> tag w ogóle (dodałem klauzuli WHERE ...):

<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>