我们的店铺才刚刚开始使用liquibase。我们使用postgresql 9.3
我们正在尝试使用
liquibase --diffTypes=data generateChangeLog为我们的activitii表创建changelogs。
这些表使用bytea列来存储PNG数据。但是,当我们运行generateChangeLog时,liquibase中的值并不是列中的值。相反,我们得到了这个。
<insert tableName="act_ge_bytearray">
<column name="id_" value="148802"/>
<column name="rev_" valueNumeric="1"/>
<column name="name_" value="image/jpeg"/>
<column name="deployment_id_"/>
<column name="bytes_" value="[B@4d513b99"/>
<column name="generated_"/>
</insert>bytes_中的实际数据是PNG文件的二进制表示。我不会在这里粘贴,因为它相当长,但正如你所看到的,liquibase不会复制正确的数据。
有没有办法解决这个问题,让generateChangeLog返回实际存储在bytea列中的内容?
谢谢你的帮助。
发布于 2014-09-24 04:43:12
Liquibase目前不能很好地处理blob内容,无论是使用generateChangeLog还是通过标准标记。这样做的部分原因是因为不同的数据库处理它们的方式差别很大。
最好的方法是使用generateChangeLog输出作为起点,并将其修改为以最适合数据库的方式通过块加载到blob文件中。
https://stackoverflow.com/questions/25771044
复制相似问题