使用 liquibase 创建类型为 double precision[] 的列
Create column of type double precision[] with liquibase
如何在 postgresql 数据库中使用 liquibase 创建双精度[](双精度数组)类型的列?
<changeSet id="add t_name table">
<createTable tableName="t_name">
...
<column name="doubleArray" type="???"/>
...
</createTable>
</changeSet>
Google没帮上忙,如果有人知道解决方案,我将不胜感激。
在同事的帮助下终于找到了答案。
liquibase好像不知道这些类型,所以我们需要手动修改sql查询:
<createTable tableName="t_name">
...
<column name="doubleArray" type="DOUBLE_ARRAY"/>
...
</createTable>
<modifySql dbms="postgresql">
<replace replace="DOUBLE_ARRAY" with="double precision[][]"/>
</modifySql>
Liquibase 3.3.0 能够为双精度类型生成精度。例如"type=double precision[16][2]" 在 mysql.
中生成 double(16,2)
如果你依赖 Postgresql,你可以使用 float8
内置别名:
<column name="doubleArray" type="float8[]"/>
如何在 postgresql 数据库中使用 liquibase 创建双精度[](双精度数组)类型的列?
<changeSet id="add t_name table">
<createTable tableName="t_name">
...
<column name="doubleArray" type="???"/>
...
</createTable>
</changeSet>
Google没帮上忙,如果有人知道解决方案,我将不胜感激。
在同事的帮助下终于找到了答案。 liquibase好像不知道这些类型,所以我们需要手动修改sql查询:
<createTable tableName="t_name">
...
<column name="doubleArray" type="DOUBLE_ARRAY"/>
...
</createTable>
<modifySql dbms="postgresql">
<replace replace="DOUBLE_ARRAY" with="double precision[][]"/>
</modifySql>
Liquibase 3.3.0 能够为双精度类型生成精度。例如"type=double precision[16][2]" 在 mysql.
中生成 double(16,2)如果你依赖 Postgresql,你可以使用 float8
内置别名:
<column name="doubleArray" type="float8[]"/>