使用spring-boot在多个数据库之间进行数据迁移

Posted

技术标签:

【中文标题】使用spring-boot在多个数据库之间进行数据迁移【英文标题】:Data migration among multiple databases with spring-boot 【发布时间】:2019-02-20 18:05:03 【问题描述】:

我正在尝试制作一个应用程序,其中数据将从一个数据库迁移到另一个数据库(将使用多个数据库)。用户可以在运行时选择表并将其推送到目标数据库。我正在使用 spring-boot、spring data JPA 并尝试使用 Flyway。 我的问题是如何从源数据库中读取完整的模式,因为用户可以在运行时选择源数据库?

提交

【问题讨论】:

那么,你已经准备好完整的架构了..??但是,您被困在如何从源数据库读取完整架构,因为用户可以在运行时选择源数据库 它是我正在尝试的 POC ......我没有提到我已经准备好完整的架构 【参考方案1】:

您可以从 JDBC 连接中获取MetaData 对象,并使用它来获取有关数据库的各种信息,例如表格列表。

请参阅我从a tutorial 获取的以下示例。

databaseMetaData = connection.getMetaData();
ResultSet resultSet = databaseMetaData.getTables(null, null, null, new String[]"TABLE");

System.out.println("Printing TABLE_TYPE \"TABLE\" ");
System.out.println("----------------------------------");

while(resultSet.next())

    System.out.println(resultSet.getString("TABLE_NAME"));

注意:JPA 很可能不是适合这项工作的工具。考虑改用 Springs JdbcTemplate

【讨论】:

以上是关于使用spring-boot在多个数据库之间进行数据迁移的主要内容,如果未能解决你的问题,请参考以下文章

在春季批处理(spring-boot-1.5.2.RELEASE)中使用多个数据源在启动时引发异常

无法使用 Spring-Boot 创建多个数据源

spring-boot 应用程序不会将夹具加载到多个数据源之一

Spring-boot多个数据库 - spring插入数据但只保存到一个db

我可以在同一台机器上运行多个elasticsearch实例进行日志聚合吗?

如何使用 jQuery 进行拖放以在两个或多个 div 之间移动数据,然后触发对 db 的更新?