我有一个场景,我们要从以下方面进行迁移 从Oracle DB到Postgres Sql我知道我可以使用liquibase maven插件从Oracle模式生成一个变化日志,并可以使用相同的模式在Postgres中创建我的模式。我想知道的是,如果它可以复制数据从oracle到postgresql使用liquibase。如果是这样,如何做到这一点。
任何帮助是非常感激的。
我不确定你是否可以直接使用Liquibase changeSet将数据从一个数据库复制到另一个数据库。
但你可以使用 generateChangeLog
与 --diffTypes=data
属性。它将在生成的changeSets中包含数据。
查看 生成变更记录 docs
-diffTypes - 要包含在 changelog 中的 diff 类型列表,用逗号分隔的列表表示,包括:表、视图、列、索引、foreignkeys、primarykeys、uniqueconstraints。资料.
还可以看看这个 例子
liquibase
--driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
--classpath="C:\\Program Files\\Microsoft JDBC Driver 6.0 for SQL Server\\sqljdbc_6.0\\enu\\jre8"
--url="jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks2017;integratedSecurity=false;"
--changeLogFile="D:\Source\generateChangeLog--PersonSchema.xml"
--username=liquibase
--password=liquibase@123
--logLevel=info
--defaultSchemaName=dbo
--diffTypes=data
generateChangeLog