【发布时间】:2026-01-20 19:35:02
【问题描述】:
我试图弄清楚如何在我们有两个 DB 的环境中实现版本控制:一个 Testing 和一个 Production。
在测试中。有任意数量的任务正在测试。这些对操作对象的数量和复杂性没有限制,这意味着我们可以有一个为期 3 天的任务来更改 2 个包主体和一个触发器,我们可以有一个 3 个月的任务来更改 100 个不同的对象,包括С源文件和二进制文件对象。
我主要关心的是数据库的基于文本的对象。我们需要对 Test 和 Production 代码进行版本控制,但是任何任务都可以从 Testing 转到 Production 没有定义随便点。
这意味着现在我们必须手动跟踪文件中的更改,在每个文件中选择代码中从 Testing 到 Production 的行。我们使用了一个非常基本的解决方案,在标头中写入一个带有基于文件的版本号的 cmets 序列,并添加具有该序列的代码标签来分隔更改。
我正在努力实现 SVN,因为我想将 Testing 创建为 Production 的一个分支,在 Testing 中有分支来限制每个任务,但我发现它可能导致许多 Testing 任务在合并期间被移植到 Production。
这就是说,我的问题是:
- 有没有办法自动解决这个问题?
- 是否有任何特定于数据库的版本控制解决方案?
- 如果代码库如此不同,我如何“链接”这两个环境?
【问题讨论】:
标签: sql oracle svn version-control database-versioning