说我有一个网站,该网站在我的电脑上的本地托管的数据库(发展)和托管在其他数据库(用于生产)...即首先我做dev的分贝的变化,然后我做的修改到PROD DB。

什么是转让,我没有在本地数据库中,以托管数据库的变化的最佳方式?

如果它的事项中,我使用的MS SQL Server(2008)

有帮助吗?

解决方案

与Visual Studio和SQL Server来做到这一点,正确的方法是将数据库项目添加到Web应用程序的解决方案。该数据库项目应具有SQL文件,可以使用所有必要的表一起完全重建整个数据库的新服务器上,程序的用户和角色。

这样的话,它们被包括在对代码的所有其余部分以及源控制。

有一个更改在数据库项目中,我把适用的任何新的改建或加数据库后续版本的SQL文件子文件夹。

在文件中的SQL应适当地写着“如果存在”块,使得其可已更新的数据库无错误运行安全多次。

作为一项规则,你永远不应该直接做改动,在数据库中 - 而不是修改SQL脚本,在项目,并将其应用到数据库,以确保您的源代码(SQL文件)始终是最新的<。 / p>

其他提示

我们这样做的(红宝石上)写“迁移”,您对DB结构捕捉的变化在每个点的Rails世界。这些都与迁移工具(耙任务),这也写入到数据库表,所以它知道一个特定的迁移是否已运行或不运行。

您可以使这样的结构您的开发平台(.NET?),但我认为在其他的答案对这个问题的人会建议可用的工具为您的开发平台处理数据库的版本,或者为您的特定DB

我不知道任何这些,但看看这个列表。我看到了很多的东西付费在那里,但必须有一些免费的。也检查了这一点

我迁移通过改变脚本由开发者编写的变化时,他们已经测试/验证他们的更改。 (该例外是移动大量数据。)所有脚本存储在源控制系统。并且可以通过数据库管理员进行验证。

它是手动的,有时费时,但有效的,安全的和controled过程。

数据库是太重要从dev的复制。

有工具来帮助创建/验证这些脚本。 请参见 http://www.red-gate.com/ 我已经用他们的工具来比较两个数据库创建脚本。 布赖恩

如果变化是小的,我有时用手使它们。对于较大的变化,我使用红门的SQL比较来产生更改脚本。这些都是手工验证和运行在QA环境一流,以确保它们不会破坏任何东西。对于大的变化,我们运行之前,使得无论在质量保证和生产变化的特殊备份。

我们曾经使用由Ron所提供的方法。这是有道理的,与数据库管理员的专业团队的一个大项目。但是,如果你没有一个专门的开发谁只为DB编写代码这个办法是时间和资源成本

该方法使用展鹏数据库比较也并不好。 您仍然有做大量的手工操作,你可以跳过一些步骤错误即可。

它需要更好的东西。这就是为什么我们建立了“敏捷DB娱乐/导入/反向/导出工具” 的原因 该工具是免费的。

优点:你的开发人员使用任何首选工具来开发DEV DB。然后,他们运行DB RIRE,这让reverseengeniring DB(表,视图,STOR PROC等),以及出口数据转换成XML文件。 XML文件可以保持在任何代码库系统。

和所述第二步骤是运行DB RIRE一个更多的时间来生成XML文件,并在生产DB的结构和数据之间的差异的脚本。

当然,你可以根据需要让尽可能多的迭代。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top