首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理数据库升级

如何处理数据库升级
EN

Stack Overflow用户
提问于 2011-03-21 23:10:30
回答 6查看 256关注 0票数 2

处理数据库升级的最佳方式是什么?

目前,我们运行一个升级脚本,执行如下操作:如果列不存在,则添加列。

有没有更好的方法?这个脚本是个巨人吗?

此问题与Microsoft和SQL server 2005/2008有关。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-21 23:17:40

如果将其部署到许多不同的位置,那么您所拥有的就是如何去做。或者你可以使用像Red Gate的SQL Packager

如果这是一个关于如何部署到少数几个位置的问题,例如,从试运行迁移到生产,则使用Red Gate's SQL Compare和/或SQL Data Compare产品。

仅供参考-我不在红门工作;我只是真的很喜欢他们的东西。

我尝试过使用Microsoft的工具进行模式和数据比较。数据工具工作得很好;模式工具是过度设计的,很难正常工作。坦率地说,我已经看到微软的模式工具搞砸了足够多的更新,以至于我再也不相信它了。

微软工具的众多缺点之一是,默认情况下,它希望更新文件在服务器上的物理位置等内容。当您在同一台服务器上有多个数据库副本时,这会带来问题。我不认为他们把这个工具的开发想得很好。UI也很难使用。

票数 3
EN

Stack Overflow用户

发布于 2011-03-21 23:19:38

您可能还想尝试一下RedGate's SQL Compare。此工具将比较两个模式,并生成脚本以更新并使其相同。

票数 1
EN

Stack Overflow用户

发布于 2011-03-21 23:21:13

使用升级/降级脚本是一种很好的方法。NYSystemsAnalyst正在谈论的特性听起来很有趣。但是,您可能需要一些特定的操作来转换现有数据。

例如,如果重构表结构将列拆分到多个表,则需要一些代码来从现有表中生成新表的数据。

Ruby on Rails通过使用"migrations“内置了这样一种机制。您必须提供两个方向的更改脚本,升级和降级。然后,工具会自动检查您当前的数据库模式版本,并执行必要的更改脚本。我认为类似的系统应该适用于.NET或您正在使用的环境。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5379588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档