【发布时间】:2019-10-23 13:15:19
【问题描述】:
我切换到 Corda Enterprise 主要是为了尝试它如何处理自动数据库迁移。
在文档here 中,它说tools-database-manager 只为初始数据库生成 SQL 版本的 Liquibase 脚本,并且 SQL 版本是特定于数据库的,因此不应用于生产。
但也可以使用 liqubase cmd 使用以下命令生成 XML:
/snap/bin/liquibase --url="jdbc:h2:tcp://localhost:10039/node" --driver=org.h2.Driver --classpath=/home/corda/Downloads/h2.jar generateChangeLog
我这样做了,然后我不得不删除所有与 corda 内部表相关的 chnagelog,只留下我自己的,似乎一切正常。
所以问题是——这种方法可能有一些我不知道的隐患。为什么 Corda 团队开发了 tools-database-manager,为什么他们还不支持使用 tools-database-manager 生成 xml?
这导致了另一个问题 - 例如,如果我忘记在初始脚本中包含我的一个表怎么办?似乎corda并没有抱怨它。不会创建我的表吗?如果初始脚本中缺少该表,我是否能够迁移该表?
【问题讨论】: