2013-05-18 15 views
5

Speravo che qualcuno potesse verificare se questa è la sintassi corretta e il modo corretto di compilare il database utilizzando il liquibase? Tutto, quello che voglio è per modificare il valore di una riga in una tabella e lo sto facendo in questo modo:Aggiornare una riga nella tabella utilizzando il liquibase

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

Tutto quello che voglio è quello di cambiare un valore di fila in qualche tavolo. Quanto sopra non funziona, sebbene l'applicazione sia compilata e non si sia lamentata, ma purtroppo il valore non è stato modificato.

Grazie

+3

che avete. ottenuto un "invece di un" alla fine del tuo elemento where. – jackrabbit

risposta

7

Sì, è possibile. Vedere la seguente sintassi:

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

Maggiori informazioni presso Liquibase Update

+2

Quanto sopra non funzionerà, perché non si sta impostando il campo del valore. Quindi non darà risultati appropriati. L'ultimo è indicato sotto il post. –

0

È possibile che questo post può essere modificato per correggere formato in questo modo. Valore inserito = "1" che è il risultato atteso nella domanda di questo post.

<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

Le risposte di cui sopra sono troppo complicate, per la maggior parte dei casi questo è sufficiente:

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

importante utilizzare le virgolette singole 'e non le doppie virgolette "nella clausola WHERE

Problemi correlati