访问开发 - 使Live数据库与dev数据库保持同步

时间:2009-08-12 09:59:09

标签: database ms-access

我是MSSQL开发人员,最近我的任务是修复基于Access的系统。此更改涉及进行数据库更改。我不想在“实时”数据库上进行开发,我宁愿复制一个,然后在完成所有测试时最后将实时与开发同步结构。

如何通过访问进行此操作?我可以从开发数据库创建升级脚本并在“实时”访问数据库上运行它们吗?

谢谢!

8 个答案:

答案 0 :(得分:1)

您可以创建添加和更改字段(列)的脚本,但最好创建一个dev数据库的空副本,并使用查询和VBA从实时数据库追加。

答案 1 :(得分:1)

你可以跟随拉穆的想法。实际上,Access数据库通常包含在一个文件中。因此,您可以复制整个数据库并处理并测试副本,部署副本。这样,您可以利用到目前为止开发的代码,结构和对象,而无需其他程序或脚本。访问开发很简单,有很多在线资源。

答案 2 :(得分:0)

当然可以,但有时候比手动应用更改更难。如果您只需要在数据库的一个实例上执行更改,则最好将其复制以进行开发,开发更改并准备更改规范以手动/半手动应用(某些脚本很容易开发 - 它将缩短部署变更的时间)

例如,很难将列的“Required”属性从TRUE更改为FALSE。 (您要制作列的临时副本,删除原始列,使用适当的设置制作新的列,将临时列的内容复制到新列,删除临时列 - 非常简单,不是吗?)

答案 3 :(得分:0)

Compare'Em将在VBA代码中创建两个数据库之间的差异,以便根据需要升级到prod后端。我在后端的表中保留了版本号,并执行相应的子例程来升级后端。

答案 4 :(得分:0)

首先,数据库应分为后端(仅限表)和前端(表单/报告/查询/模块/等)。每个用户都会在她的工作站上有一个前端的副本,其中包含后端表格的链接,这些表格在文件服务器上共享。

对于开发,您将处理前端的副本,更改表单/报告/代码等,并且在准备部署时,用户只需将其复制到现有前端之上。

如果您要更改数据结构,可以编写脚本,但为什么要这么麻烦?编写和测试脚本时需要更多时间,以便在测试平台后端进行更改,然后在新前端投入生产使用时再次进行更改。如果我需要升级相同后端的多个副本,我只会编写类似这样的内容。

答案 5 :(得分:0)

第一个关键是拆分数据库,已在许多答案中找到。有关部署客户端数据库的快速简便方法,请查看these instructions

答案 6 :(得分:0)

这是一个新手的建议,但是:

当您对数据库的开发副本进行更改时,请在文本文件中输入一系列SQL命令,这些命令将执行这些更改并仍保持数据完整。

定期获取实时数据库的新副本并针对它运行脚本,以测试这些脚本将A)正常工作,B)正确保存所有数据。

当需要释放您的工作时,请执行最后一次测试,针对实时数据库的副本运行SQL命令。 (为此,将实时数据库脱机,以便不会有新数据进入。)

只要您觉得它有效,只需将实时数据库交换为最新的开发数据库即可。

您在文本文件中编写了所有数据库更改脚本,因此如果需要,您可以稍后再查看它们。

答案 7 :(得分:-1)

由于您是SQL Server开发人员的区域,因此请考虑您可以在Access中分离出前端和后端。然后你可以让后端成为SQL Server Express。然后,您可以轻松地将更改脚本更改为prod数据库的结构,就像在SQL Server中一样。自从我在Access工作以来已经有一段时间了,但我认为你需要重新连接前端的表格。