2009-07-04 6 views
9

ich brauche, um meine Daten zu aktualisieren, die HTML-Tag haben innerhalb so diese auf liquibasewie HTML-Tag innerhalb SQL in Liquibase Migration einfügen?

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

es offenbar funktioniert nicht auf liquibase (i loooong Fehler bekam .. und sinnlos). Ich habe versucht, <br/> zu entfernen, und es funktioniert.

meine Frage ist, ist es möglich, etwas einzufügen/zu aktualisieren, das XML-Tag in Liquibase enthält?

ich verwende liquibase 1.9.3 mit Grails 1.1.1

bearbeitet: vergessen hat, Beispielcode-Tag in meinen Beispielen zu setzen.

+0

Ihre Frage ist nicht wirklich klar. Könntest du bitte etwas mehr erklären, was deine Einstellung ist? Verwenden Sie liquibase XML direkt zum Definieren Ihrer Changesets oder verwenden Sie die vom autobase grails Plugin bereitgestellte DSL? Ist Ihr "update .." etwas, was Sie versuchen, in einem benutzerdefinierten SQL-Refactoring (http://www.liquibase.org/manual/custom_sql) auszuführen? –

+0

Entschuldigung, ich habe in meinem Beispiel vergessen, Codeformatierung hinzuzufügen. Ich habe versucht, eine Migration auszuführen, die "sql" -Befehle enthält und drinnen habe ich ein HTML/XML-Tag. – nightingale2k1

Antwort

15

Da der Liquibase-Autor here erwähnt, müssen Sie CDATA-Abschnitt innerhalb <sql> hinzufügen.

In Ihrem speziellen Beispiel, das werden würde:

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

Auch keine <sql> Tag überhaupt zu benutzen (Ich habe die Klausel 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>