使用liquibase创建double precision []类型的列

时间:2015-01-30 16:14:36

标签: postgresql liquibase

如何在postgresql数据库中使用liquibase创建double precision [](double of double of)类型的列?

<changeSet id="add t_name table">
    <createTable tableName="t_name">
        ...
        <column name="doubleArray" type="???"/>
        ...
    </createTable>
</changeSet>

谷歌没有帮助,拜托,如果有人知道解决方案,我将非常感激。

3 个答案:

答案 0 :(得分:3)

我终于在同事的帮助下找到了答案。 似乎liquibase不知道这样的类型,所以我们需要手动修改sql查询:

<createTable tableName="t_name">
    ...
    <column name="doubleArray" type="DOUBLE_ARRAY"/>
    ...
</createTable>

<modifySql dbms="postgresql">
    <replace replace="DOUBLE_ARRAY" with="double precision[][]"/>
</modifySql>

答案 1 :(得分:0)

Liquibase 3.3.0能够为double类型生成精度。例如&#34; type = double precision [16] [2]&#34;在mysql中生成double(16,2)。

答案 2 :(得分:0)

如果你依赖Postgresql,你可以使用float8内置别名:

<column name="doubleArray" type="float8[]"/>