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