JPA live db schema迁移支持工具?

时间:2013-03-02 02:36:15

标签: jpa migration schema live

有很多关于JPA数据库模式迁移和各种工具的stackoverflow线程。但是,在为大型数据库执行建议的脱机模式迁移时,似乎没有人认为服务停机时间太长。

所以这是我的第一个想法:

假设我想将一个JPA实体重构为两个JPA实体,即。将“Truck”分为“Truck”和“Engine”(将Engine属性移动到一个单独的实体中)。迁移计划可能如下所示:

  • 创建两个新的JPA实体“TruckNew”和“Engine”。
  • 调整访问“Truck”,“TruckNew”和“Engine”的DAO(或其他):
    • 使用“Truck”作为后备
    • 运行一个单独的数据迁移线程,将实体从“Truck”转换为“TruckNew”和“Engine”,从而在后台进行迁移,无需停机,对其他应用程序透明。
  • 清理东西,将“TruckNew”重命名为“Truck”

现在的问题是:是否有任何支持工具可以完成这样的任务?任何JPA提供程序的功能至少可以完成部分工作吗?

1 个答案:

答案 0 :(得分:0)

我看到了这个想法,它看起来可能,但是将数据库克隆到migration_db不是更好的方法。使用工具/脚本迁移模式,然后使用新代码使用单元测试测试修改。最后,将您的环境指向配置到已更新实体的迁移代码库的新安装。

一个缺点是未复制到克隆数据库的事务将丢失,但这也可能只使用任何事务数据库。