首先修改数据源配置,将原来连接字符串修改为新数据库,比如从SQLServer迁移到MySQL,然后导出导入数据库,最后运行程序,检查潜在的兼容问题。

下面以常用的Java + Spring Boot开发为例,介绍详细操作过程。

一,修改数据源配置

1,在application.yml中配置连接字符串

如果使用了Ali Druid连接池管理,配置信息写在druid子目录下,注意SQLServer和MySQL两种数据库不同的写法。

java实现表与表数据迁移项目 java数据迁移方案_MySQL

2,MySQL的驱动名称和连接url,注意数据库名称

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/starter

二,导入导出已有数据库

进入到SQLServer数据库后台管理系统,将数据库导出,如果需要包含数据,注意勾选导出时的选项。

然后使用MySQL Workbench或者其它工具,连接MySQL服务器,新建数据库,导入SQL脚本,自动创建数据表结构和生成数据。

java实现表与表数据迁移项目 java数据迁移方案_MySQL_02

java实现表与表数据迁移项目 java数据迁移方案_mysql 数据迁移java_03

三,版本化管理SQL脚本

在软件研发管理中,数据库的版本化管理非常重要。首先是代码和数据库保持一致,并且数据库的变更记录有据可查。其次是部署发布、数据迁移时,自动运行脚本远比手动配置更高效、更安全,及时对数据库进行维护处理。

在Java + Spring Boot开发场景中,推荐使用Flyway版本化管理数据库。

1,初识Flyway

Flyway是一个数据库版本化管理工具,通过SQL脚本实现DB Migration自动化升级,支持独立运行,也可以和构建工具或者Spring开发环境集成。

2,SQL脚本文件目录结构

java实现表与表数据迁移项目 java数据迁移方案_Flyway_04

3,Spring Boot集成Flyway

java实现表与表数据迁移项目 java数据迁移方案_数据库_05

四,编译运行项目,检查兼容性

完成代码配置和数据库迁移后,启动项目测试功能。

1,单元测试

如果项目中有单元测试覆盖了数据库读写功能,那么就首先运行单元测试,检查功能是否正常,测试能否通过。

java实现表与表数据迁移项目 java数据迁移方案_Flyway_06

2,回归测试

切换数据库后,有一些潜在的数据兼容问题,比如整型数、日期TimeStamp,建议进行系统功能全量回归测试,发现问题后及时修复。

java实现表与表数据迁移项目 java数据迁移方案_mysql 数据迁移java_07

#Java#