使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

通常项目做数据库迁移的时候分为两步走:1.结构迁移;2.数据迁移。 可以分别使用AWS-Schema-Conversion-Tool和Navicat完成这两步工作。

【实例】下面介绍如何使用AWS-Schema-Conversion-Tool将SQL Server的数据库“eGear_Test”(Schema为“dbo”)的DB结构迁移到PostgreSql的数据库“eGear”(Schema为“public”):

1. 先用pgAdmin在PostgreSql DB实例中创建空的目标数据库eGear:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

2. 下载安装AWS-Schema-Conversion-Tool 

3. 下载DB驱动程序,配置所要相互转换的DB驱动:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

4. 新建项目,指定源、目标数据库引擎: 

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql
5. 连接源数据库(SQL Server默认端口1433):

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

6. 连接目标数据库(PostgreSql):

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

 7. 配置迁移转换规则:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

 使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

8. 选择源数据库,转换出目标数据库结构:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

提示后确认覆盖:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

等待转换完成,可以发现目标数据库的相应Schema已打勾选,相应的表结构也已生成,如图:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

9. 将转换后选择将相应schema中的结构应用到目标数据库中:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

确定:

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

由于源、目标两个数据库引擎语法的差异,无法直接迁移存储过程与函数,如图提示迁移后存在的Procedure有错误,需要在目标DB去重新手动编写。

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql

10. 在pgAdmin连接目标数据库,刷新可以看到,数据结构已经成功迁移到目标数据库中,但这时只有数据结构,数据部分的迁移可以使用Navicat工具去完成。

使用AWS-Schema-Conversion-Tool将mssql数据库结构迁往PostgreSql