我将PostgreSQL 9.6从本地迁移到RDS Aurora PostgreSQL 11.4。
第一步,使用pg_dump导出数据库元数据(具有700多个模式)。
接下来,想验证我是否没有任何约束,对象以及源和数据库是否对齐。
将Liquibase与DiffChangeLog一起使用会产生误报结果,例如:
这是单个模式的Liquibase命令。 我必须为数据库中的所有模式编写700多个脚本:
c:\> liquibase.bat ^
--changeLogFile=d:\users\compare\changelog.postgresql.sql ^
--outputFile=d:\users\compare\Database_diff.txt ^
--classpath="D:\Program Files\liquibase\postgresql-42.2.12.jar" ^
--driver=org.postgresql.Driver ^
--url=jdbc:postgresql://<source_endpoint>:5432/<source_database> ^
--username=<source_username> ^
--password=<source_password> ^
--defaultSchemaName=<source_schema> ^
--includeSchema=true ^
DiffChangeLog ^
--referenceUrl=jdbc:postgresql://<target_endpoint>:5432/<target_databas> ^
--referenceUsername=<target_username> ^
--referencePassword=<target_password> ^
--referenceDefaultSchemaName=<target_schema>
请告知如何避免假阳性结果。
答案 0 :(得分:0)
您也可以尝试翻转网址和参考网址。 diffChangeLog将使用referenceUrl作为您希望数据库外观的参考或来源。并将使用url作为更改的目标。