sql - 创建所有数据库更改的数据库脚本在定义的时间段内发生
问题描述
问题描述:
在我的项目中,我必须创建从 sprint 开始日期到结束日期在 Development DB 中发生的所有更改的数据库脚本。
然后这些数据库脚本将在生产环境中执行。
包含在 DB 脚本中的更改包括:
- 所有 DDL
- 仅主表上的 DML(我在一个表中有一个主表列表)
笔记:
- 每个对象必须有一个
.sql
文件 <--这是我们客户的独特要求 - 对于同一对象的 DDL 更改和 DML 更改,必须有两个 .sql 文件
- 文件的名称应该类似于
DDL_<Object_name>.sql
DDL 更改和DML_<Object_name>.sql
DML 更改。
目前我是如何做到的:
我使用EXTENDED [AUDIT][1]
Oracle 的特性来存储在所需对象上执行的 SQL 语句。
我创建了将开始日期和结束日期作为输入参数的过程。然后它按对象名称,SQL类型(DDL,DML),执行日期逐个获取数据库更改,然后循环遍历它并根据语句类型(DDL或DML)创建文件并将语句写入该文件中.
期待:
我能够达到预期的效果(在第一阶段),但我想知道是否有一些工具或实用程序或现成的脚本或任何其他方式,使用它们可以达到相同的结果?
谢谢您的帮助。
解决方案
推荐阅读
- python - 如何在字典中的给定键处找到值的总和?
- scala - Kafka Streams 2.3 到 2.5 升级中断 Scala 编译
- r - 如何通过反复试验或 R 中更好的特定替代方法将数据集拟合到特定函数?
- javascript - 使用循环和 if else 语句遍历数组
- algorithm - 具有两个变量的递归函数的时间复杂度
- javascript - 如何让 Closure Compiler 找到 window.crypto?
- sql - 一年中每个月的 SQL 计数结果
- javascript - Rails 中的 Turbolinks 与使用 javascript 的 Alpine JS 下拉列表和 Hubspot 表单冲突
- circleci - CircleCI 分支过滤器在“工作 > 构建”部分中不起作用
- python - 在没有 sql 函数的情况下在 PySpark 中对数据框进行排序