【发布时间】:2016-04-14 14:36:18
【问题描述】:
我有一个使用 MS-SQL-Server 来存储数据的应用程序。我们将分几个步骤推出该应用程序,以便用户首先测试基本功能,然后我们会随着时间的推移添加功能。
这可能会导致数据库发生变化。在早期阶段,我们可以删除整个数据库并使用脚本重新创建所有内容。但最终,用户希望保留他们的测试数据。例如,如果我向表中添加新列,我不想删除并重新创建整个表,从而丢失用户迄今为止在此过程中存储的所有数据。
所以,我需要一个脚本,将 myDatabase v1.0 更新为 myDatabase v2.0。
我的问题是:创建此类更新脚本的最佳方法是什么?我是否必须手动跟踪所有更改,然后自己组装更新脚本?或者是否有可以(半)自动从旧数据库和新数据库创建更新脚本的功能?
最后,应用此补丁的最佳方法是什么?我有一个 ASP.NET Web-API,所以我可以创建一个控制器 api/updates/v1.0-to-v2.0 在服务器上应用脚本的代码会是什么样子?
提前致谢,
弗兰克
【问题讨论】:
-
如果您使用的是 Visual Studio 数据库项目或 SqlServerDataTools,这些差异/发布操作会变得更加容易。但是,根据更新或补丁的性质,您可能需要一些停机时间。
标签: c# sql-server database patch