a と b の 2 つの列を持つ既存の mysql テーブルがあります。
そのテーブルに列 c を追加したいと思います。
c は、列 b の値が 10 である行を除いて、NULL のデフォルト値を持つ必要があります。b の値が 10 の場合、c の値は X でなければなりません。
SQL を使用してこれを行うのはかなり簡単であることは理解していますが、スキーマの移行に使用するのは liquibase であるため、liquibase を使用してこれを行いたいと考えています。
a と b の 2 つの列を持つ既存の mysql テーブルがあります。
そのテーブルに列 c を追加したいと思います。
c は、列 b の値が 10 である行を除いて、NULL のデフォルト値を持つ必要があります。b の値が 10 の場合、c の値は X でなければなりません。
SQL を使用してこれを行うのはかなり簡単であることは理解していますが、スキーマの移行に使用するのは liquibase であるため、liquibase を使用してこれを行いたいと考えています。
あなたはすでにこのようなことを試しましたか?
<addColumn tableName="SGW_PRODOTTI_INFO_ATTRIBUTE">
<column name="AlternativeListPrice" type="double" defaultValue="0.0">
<constraints nullable="true"/>
</column>
</addColumn>
プレーンSQLを使用しない最善の解決策は次のとおりだと思います:
Walter が書いたように、 addColumn の変更を使用します。
更新変更を使用します。
変更セット内で両方の変更を使用することを選択できますが、liquibase トランザクション/ロールバックの目的で、個別の変更セットでそれぞれを分離することをお勧めします。