2016-03-01 104 views
1

我们的应用程序有一个MS Access 2010数据库(我知道..我更喜欢SQL Server,但这是另一个话题)。使用数据库表或源代码控制工具进行版本控制?

由于MS Access将其在单一神秘单片二进制文件,而不是脚本中的数据,我的团队正在考虑创建对应于不同版本的软件的一些额外的表和维护这些版本一个master数据库中。

我建议将二进制文件放在与软件源代码相同的源代码管理工具中。然后,绝大多数数据库内容将与其他版本重复,但至少它使版本控制工具以同步的方式同时控制软件源和数据库。

应用程序使用从数据库中导出的XML文件(不扎入数据库直接)。

这两种方法的优缺点是什么?

我熟悉的SQL Server版本控制的方法,但MS访问似乎难以管理的,有很多分支的应用。

回答

0

简而言之:您正在将Access推向非预期的目标。

您的命令有SaveAsTextLoadFromText,它们可以将大多数对象导出并导入为离散文本文件。这已被Visual SourceSafe用于创建某种源代码控制,但它不能100%可靠地工作。

另外,你可以只以及导入和导出对象“原样”到另一个(存档)数据库建立某种形式的版本控制。

我曾经与一个团队合作的一个非常大的公司有一切可以想象的资源从MS在手,不过,我们结束了的给定包括日期和时间的文件名的zip文件的简单系统。

我们有我们拉到一个拷贝到本地文件夹的主ACCDB文件,然后做什么,我们被分配,并复制回留下什么对象被修改的说明文件。一个人的任务是收集改变的物体并“重建”一个新的主人。每天至少有一次,但我们经常在午餐时间创建一个。

它的工作比你想象的,因为我们通常在不同的角落操作 - 一个有一些报道,一个与其他的报道,一个与某些形式,和一个(通常是我)有一些代码模块。当然,错误发生了,但是因为我们有zip文件,所以如果有疑问的话,拉一个对象的旧副本总是快速和安全的。