2009-07-04 6 views
9

мне нужно обновить свои данные, которые имеют HTML тег внутри так написал на LiquiBaseКак вставить html-тег внутри sql в миграции Liquibase?

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

это, по-видимому, не работает на LiquiBase (я получил ошибки .. займет слишком много и бессмысленно). Я пытался удалить <br/>, и он работает.

Мой вопрос в том, можно ли вставить/обновить что-нибудь, содержащее тег xml в Liquibase?

Я использую LiquiBase 1.9.3 с Grails 1.1.1

отредактирован: забыли установить образец кода тег в моих примерах.

+0

Ваш вопрос не действительно ясно. Не могли бы вы немного объяснить, что такое ваша настройка? Вы используете linibase XML напрямую для определения ваших наборов изменений или используете DSL, предоставляемые плагином autobase grails? Является ли ваше «обновление ..» чем-то, что вы пытаетесь выполнить в настраиваемом sql-рефакторинге (http://www.liquibase.org/manual/custom_sql)? –

+0

Извините, я забыл добавить форматирование кода в моем примере. Я пытался выполнить миграцию, которая содержит команды «sql», и внутри я помещаю тэг html/xml. – nightingale2k1

ответ

15

В качестве автора Liquibase упоминается here, вам необходимо добавить секцию CDATA внутри <sql>.

В вашем конкретном примере, который стал бы:

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

Даже лучше не использовать <sql> тег на всех (я добавил пункт где ...):

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