sql - 使用 liquibase 为单个 sql 文件生成 changeLog
问题描述
我有一个包含许多 SQL 文件的庞大数据库。有没有办法为单个 SQL 文件而不是整个数据库生成更改日志?我在本地硬盘上存储了一些 SQL 文件,并通过命令行使用 liquibase。如果无法使用本地 SQL 文件执行此操作,有没有办法为我的数据库的单个表生成更改日志?
解决方案
您正在寻找的东西是不可能的。数据库不记得为使数据库进入特定状态而执行的 SQL。这是一个真正简单的例子。假设您首先运行一些 SQL 来创建一个包含“name”和“id”两列的表。然后你再运行一些 sql 来添加第三列“活动”。数据库不记得为了进入该状态而运行了两个单独的操作。当 Liquibase 为该数据库生成变更日志时,它基本上必须询问数据库“事物的当前状态是什么?” 所以它会有一个变更集来创建包含所有三列的表。
可以让 liquibase 生成更小的变更日志文件,但您可能应该退后一步,问问自己为什么要这样做。
推荐阅读
- csv - CSV 在 4 行中转换一行
- python - 我怎样才能摆脱这个 ModuleNotFoundError?
- vmware - 哪个是 VMWare(PCF)应用程序服务中 Redis 的正确钢趾连接器
- php - PHP array_filter 只返回最后找到的值
- python - 在 Python 中使用 PyQt5 创建后退按钮
- google-cloud-platform - 如何在 Data Fusion Studio 中使用 GCS Delete?
- informatica-powercenter - 如何通过在 Informatica 中使用 unconnect SP 转换传递映射变量 $$date 和源预加载来调用存储过程
- python - 如何在 django 应用程序中授予多个登录对一个基于关键字的数据集的访问权限
- c# - 围绕统一 2d 旋转
- php - 使用 PHP 显示错误和成功消息?