如何告诉 Liquibase 将 BLOB 数据类型映射到 PostgreSQL 上的 BYTEA?
看来 Hibernate 人们已经接管并调整了该工具以满足他们的需求:https://liquibase.jira.com/browse/CORE-1863 https://liquibase.jira.com/browse/CORE-1863但是,EclipseLink 不支持 oid,并且该错误似乎仍然存在:https://bugs.eclipse.org/bugs/show_bug.cgi?id=337467 https://bugs.eclipse.org/bugs/show_bug.cgi?id=337467
我需要使用 EclipseLink,并且需要将 blob 与 PostgreSQL 一起使用。我想使用 Liquibase,是否可以让这些东西一起工作?
你有两个选择。
如果您只需要 Postgres 并且不打算支持其他 DBMS,只需使用bytea
作为列类型。
任何未在描述中列为“通用”类型之一的数据类型列标签 http://www.liquibase.org/documentation/column.html将“按原样”传递到数据库,例如
<createTable tableName="foo">
<column name="id" type="integer"/>
<column name="picture" type="bytea"/>
</createTable>
如果你想支持不同的DBMS,你可以根据DBMS定义一个属性:
<property name="blob_type" value="bytea" dbms="postgresql"/>
<property name="blob_type" value="blob" dbms="oracle"/>
然后稍后
<createTable tableName="foo">
<column name="id" type="integer"/>
<column name="picture" type="${blob_type}"/>
</createTable>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)