gpt4 book ai didi

sql - 如何生成 SQL 格式的更改日志以创建当前数据库模式?

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:19 25 4
gpt4 key购买 nike

开始在现有数据库上使用 Liquibase 时,有一种方法可以生成更改日志以创建当前数据库模式,这通常很有用,尤其是对于测试而言。 Liquibase 允许您使用“generateChangeLog”命令行命令执行此操作。但是,此命令只会生成 XML 格式的数据库更改日志。

那么如何生成SQL格式的变更日志来创建当前的数据库模式呢?是否存在将 XML 格式的数据库更改日志转换为 SQL 格式的方法?如果没有,Liquibase API 中是否有任何扩展点来添加此功能?

最佳答案

目前不支持生成 SQL,但您可以编写一个扩展来执行此操作。像 liquibase.serializer.core.xml.XMLChangeLogSerializer 这样的 *Serializer 类接受一个 changelog 对象并输出成你想要的任何格式。

使用诸如 FormattedSqlChangeLogSerializer 之类的东西覆盖 getValidFileExtensions() 以返回新的 String[]{"xml"} 你可以只运行带有 outputFile=some.file.sql 的 generateChangeLog 并获取你在自定义序列化器类中生成的 SQL。

扩展系统将允许您在自定义 jar 中创建此类。

关于sql - 如何生成 SQL 格式的更改日志以创建当前数据库模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com