Question

I need to update my data that have html tag inside so wrote this on liquibase

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

it apparently doesn't work on liquibase ( i got loooong errors .. and meaningless). I tried to remove <br/> and it works.

my question is, is it possible to insert / update something that contains xml tag in Liquibase ?

I am using liquibase 1.9.3 with Grails 1.1.1

edited: forgot to set code sample tag in my examples.

Was it helpful?

Solution

As the liquibase author mentions here you'll need to add CDATA section inside <sql>.

In your particular example that would become:

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

OTHER TIPS

Even better not to use a <sql> tag at all (I added the where clause ...):

<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>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top