JPA live db模式迁移支持工具?
关于JPA db模式迁移和各种工具,有相当多的stackoverflow线程。然而,没有人甚至会考虑在为大型数据库做离线架构迁移时,服务宕机时间太长。 我的第一个想法是: 假设我想将一个JPA实体重构为两个JPA实体,即“Truck”重构为“Truck”和“Engine”(将Engine属性移动到单独的实体中)。迁移计划可以如下所示:JPA live db模式迁移支持工具?,jpa,migration,schema,live,Jpa,Migration,Schema,Live,关于JPA db模式迁移和各种工具,有相当多的stackoverflow线程。然而,没有人甚至会考虑在为大型数据库做离线架构迁移时,服务宕机时间太长。 我的第一个想法是: 假设我想将一个JPA实体重构为两个JPA实体,即“Truck”重构为“Truck”和“Engine”(将Engine属性移动到单独的实体中)。迁移计划可以如下所示: 创建两个新的JPA实体“trucknowed”和“Engine” 将进入“卡车”、“卡车”和“发动机”的DAO(或其他)调整为: 使用“卡车”作为备用 运行一
- 创建两个新的JPA实体“trucknowed”和“Engine”
- 将进入“卡车”、“卡车”和“发动机”的DAO(或其他)调整为:
- 使用“卡车”作为备用
- 运行一个单独的数据迁移线程,该线程将实体从“Truck”转换为“trucknowed”和“Engine”,从而在后台进行迁移,不会停机,对应用程序的其余部分透明
- 清理东西,把“卡车”改名为“卡车”
现在的问题是:是否有支持此类任务的工具?是否有JPA提供商的功能能够至少完成部分工作?我明白这个想法,而且看起来是可能的,但将数据库克隆到迁移数据库不是更好的方法吗。使用工具/脚本迁移模式,然后使用单元测试和新代码测试修改。最后,将您的环境指向新安装的带有更新实体的迁移代码库的配置 一个缺点是,未复制到克隆数据库的事务将丢失,但这也可能仅使用任何事务数据库