我们的商店刚刚开始使用利口酒。我们使用postgresql 9.3
我们正在尝试使用
liquibase --diffTypes=data generateChangeLog
为activitii表创建变更日志。
这些表使用字节列来存储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>
字节中的实际数据是PNG文件的二进制表示。我不会把它粘贴在这里,因为它相当长,但正如你所看到的,liquibase不会复制正确的数据。
有没有办法解决这个问题,让generateChangeLog返回字节列中实际存储的内容?
谢谢你的帮助。
Liquibase目前不能很好地处理blob内容,无论是使用generateChangeLog还是通过标准标记。部分原因是不同的数据库处理它们的方式差异很大。
您最好的方法是使用generateChangeLog输出作为起点,并将其修改为通过块加载到blob文件中,这对您的数据库最有效。