首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于RoundHouse的数据库改造

用于RoundHouse的数据库改造
EN

Stack Overflow用户
提问于 2013-09-03 20:40:13
回答 2查看 606关注 0票数 3

我正在调查把我们的数据库放到源代码管理中。我找不到任何信息,最好的方式改造现有的dbs,以便与rh一起使用。

我可以看到所创建的表,是否应该将这些表脚本化并添加到我们的db中,然后从那里开始呢?或者我应该获得db的bak并使用restore标志运行rh?似乎应该有一些指导方针。

如果你有任何见解,请告诉我。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-04 11:42:17

你看见PowerUp了吗?https://github.com/chucknorris/powerup

这是将数据库中的当前项提取为幂等RoundhousE格式的实用工具。

至于表,可以分别编写脚本,然后将它们放入runAfterCreate表中。

在wiki中有一些关于这个- https://github.com/chucknorris/roundhouse/wiki/RoundhousEModes的指导。

票数 1
EN

Stack Overflow用户

发布于 2015-06-25 14:19:06

据我所收集的,这是预期的工作流:

  1. 创建现有数据库的完整备份。

此备份文件是您的基线映像。将文件移动到具有固定位置的文件共享。修正意味着当基线映像更新到更新版本(通常是在成功部署之后)时,完整的路径不会改变。

代码语言:javascript
运行
复制
\\BuildServer\Data\Backups\LegacyDb.bak
  1. 使用SSMS或PoweruP编写“任何时候”数据库对象(存储过程、函数、视图和索引)的脚本,每个文件一个对象。将脚本移到名为"sprocs“、”函数“、”视图“和”索引“的目录中。

请注意,您是而不是,此时应该编写“一次性”数据库对象的脚本。

  1. 做一些实际工作,包括添加一次脚本或更改任何时候的脚本。也许添加一个新表并更改一个视图。相应地更新迁移脚本。
  2. 使用"RunRestore“模式将更改部署到开发数据库,并验证迁移脚本是否按预期工作。

在这种模式下,在执行迁移脚本之前,用基线映像替换现有的数据库。恢复备份是必要的;否则,RH将不会执行以前执行的迁移脚本,因为开发数据库中的版本信息在基线信息之前。您绝对希望能够对迁移脚本进行更改和测试,只要它们还在开发中。

  1. 当您感到足够自信时,请使用“正常”模式将更改部署到生产数据库。

在此模式下,RH在执行迁移脚本之前不会还原任何备份。理论上,生产数据库和基线映像在sprint期间保持不变,因此不需要恢复备份。更不用说它可能会毁掉数周/几个月的数据。

如果这是第一个部署,RH将创建3个表,用于存储该数据库的版本信息。从现在开始,版本信息将包括在您的基线图像。

  1. 创建数据库备份。

此备份文件是下一个sprint的新基线映像。

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

https://stackoverflow.com/questions/18601088

复制
相关文章

相似问题

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