数据库的迁移包括数据库模式(DDL)、数据与服务器端的业务逻辑的迁移。
因项目甲方需要,将原先使用的PostgreSQL数据库换成Microsoft SQL Server数据库。
PostgreSQL数据库使用的9.4版本。Microsoft SQL Server使用的是2012Express版本。业务逻辑代码是使用了spring boot + mybatis实现对数据库的连接管理和操作。
基本的方法就是5步:
1)将PostgreSQL数据库的表结构和数据转储为SQL文件,使用了Navicat软件实现。
2)修改SQL文件,将其修正为Microsoft SQL Server数据库可识别的SQL文件。
3)在Microsoft SQL Server数据库中执行SQL文件实现数据库的表结构和数据的恢复。
4)配置Microsoft SQL Server的端口和TCP/IP等内容。
5)在代码中修改数据库的驱动库,添加Microsoft SQL Server的依赖。
接下来是详细的对每一步做一个说明:
1)将PostgreSQL数据库的表结构和数据转储为SQL文件,使用了Navicat软件实现:
因为项目比较简单的原因,这次数据库迁移一共只涉及到了16张表和数据,没有序列,表与表之间只存在一些外键约束。通过Navicat生成的PostgreSQL数据库的sql文件是无法直接用来恢复Microsoft SQL Server数据库的,所以就需要进行第二步操作。
2)修改SQL文件,将其修正为Microsoft SQL Server数据库可识别的SQL文件:
在我这么简单的数据库的基础上,需要修改sql文件有10个地方。
(1