【发布时间】:2015-06-04 07:46:13
【问题描述】:
我在一个具有数百个模式和多个开发人员的 Oracle 实例中工作。我们有一个开发实例,开发人员可以在其中集成他们的工作,然后再进行测试或生产。
我们希望对在这个集成开发数据库中运行的所有 DDL 进行源代码控制。目前,这是通过我们在对数据库进行更改后手动运行的产品 Red Gate 完成的。 Redgate 发现架构中的内容与上次签入源代码管理的内容之间的更改,并制作差异脚本并将其放入源代码管理中。
但是,问题当然是运行 regdate 可能需要一些时间,而且人们很少运行它或者根本不运行它以进行小的更改。此外,redgate 一次只会查看一个模式,并且针对所有模式手动运行它以确保它们是最新的将非常耗时。但是,如果不能依赖源代码控制的代码,它的用处就会降低……
似乎理想的做法是让一些软件可以定期(甚至每天一次),或者当由运行的 DDL 触发时,更新源代码控制(最好是 github,因为它被其他团队使用)模式。
我似乎看不到任何可以简单地用于执行此操作的现有软件。
这样做有问题吗? (没有必要解决多个开发人员在同一天覆盖彼此的工作,因为我们在单独的流程中对此进行了介绍)有人这样做吗?谁能推荐一种方法来做到这一点?
【问题讨论】:
-
Red-Gate 是一家公司 - 不是产品 - 那么 Red-Gate Software 的产品究竟是什么你在用吗?
-
您是否使用工具自动生成 SQL 脚本,然后将生成的脚本保存到版本控制中?
-
user272735 - 是的,redgate 的产品(我在工作时必须检查它的名称)生成对数据库所做更改的脚本,然后将脚本放入版本控制中。
-
红门产品叫“源代码控制”
标签: sql plsql oracle11g oracle12c