2013-05-18 15 views
5

Ich hatte gehofft, wenn jemand überprüfen könnte, ob dies die richtige Syntax und richtige Art der Bestückung der DB mit Liquibase ist? Alles, was ich will ist in einer Tabelle Wert einer Zeile zu ändern, und ich bin es, wie dies zu tun:Aktualisieren Sie eine Zeile in der Tabelle mit liquibase

<changeSet author="name" id="1231"> 
<update tableName="SomeTable"> 
    <column name="Properties" value="1" /> 
    <where>PROPERTYNAME = 'someNameOfThePropery"</where> 
</update> 
<changeSet> 

Ich will einen Wert in einer Zeile ändern in irgendeiner Tabelle. Das obige funktioniert nicht, obwohl Anwendung kompiliert wurde und es sich nicht bemängelte, aber leider wurde der Wert nicht geändert.

Vielen Dank

+3

Sie haben zu verwenden, habe ein "statt a" am Ende deines where-Elements. – jackrabbit

Antwort

7

Ja, es ist möglich. Siehe folgende Syntax:

<changeSet author="name" id="1231"> 
    <update catalogName="dbname" 
      schemaName="public" 
      tableName="SomeTable"> 
     <column name="Properties" type="varchar(255)"/> 
     <where>PROPERTYNAME = 'someNameOfThePropery'</where> 
    </update> 
</changeSet> 

Mehr Infos unter Liquibase Update

+2

Das obige funktioniert nicht, weil Sie das Wertfeld nicht einstellen. So wird es kein passendes Ergebnis geben. Der letzte ist in der folgenden Post angegeben. –

0

Der obige Beitrag kann geändert werden Formate auf diese Weise zu korrigieren. Eingefügter Wert = "1", was das erwartete Ergebnis in der Frage dieses Beitrags ist.

<changeSet author="name" id="1231"> 
    <update catalogName="dbname" 
      schemaName="public" 
      tableName="SomeTable"> 
     <column name="Properties" **value="1"** type="varchar(255)"/> 
     <where>PROPERTYNAME = 'someNameOfThePropery'</where> 
    </update> 
</changeSet> 
7

Die oben genannten Antworten sind zu kompliziert, für den meisten Fällen ausreichend ist.

<changeSet author="name" id="123"> 
    <update tableName="SomeTable"> 
     <column name="PropertyToSet" value="1" /> 
     <where>otherProperty = 'otherPropertyValue'</where> 
    </update> 
</changeSet> 

wichtig einfache Anführungszeichen 'und nicht doppelte Anführungszeichen "in der WHERE-Klausel

Verwandte Themen