我有一个现有的 mysql 表,其中包含两列 a 和 b。
我现在想在该表中添加一列 c。
c 应该是可空的,应该有一个默认值 NULL,除了那些 b 列的值为 10 的行。其中 b 的值为 10,c 应该有一个值 X。
我知道使用 SQL 执行此操作相当简单,但我想使用 liquibase 执行此操作,因为 liquibase 是我们用于架构迁移的。
我有一个现有的 mysql 表,其中包含两列 a 和 b。
我现在想在该表中添加一列 c。
c 应该是可空的,应该有一个默认值 NULL,除了那些 b 列的值为 10 的行。其中 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>
如果您要添加列,那么
<changeSet author="your-name" id="your-id">
<addColumn tableName="person" >
<column name="is_active" type="varchar2(1)" defaultValue="Y" />
</addColumn>
</changeSet>
如果已添加列,则需要设置默认值
<changeSet author="your-name" id="your-id">
<addDefaultValue columnDataType="varchar2(1)" columnName="is_active" defaultValue="Y" tableName="person"/>
</changeSet>