根据documentation,RoundhousE有3种模式:
前两个是明确的,但我不明白RestoreRun Mode及其在生产中提供的好处:
一旦投入生产,就从DropCreate切换到 如果数据库足够小,则为RestoreRun模式。如果没有,你可以 通过切换到新脚本继续维护模式的想法 您要更改的名称。您也可以备份结构 仅(如果您使用像LiteSpeed这样的工具,还有一些查找数据) 并从中恢复。
我的印象是RestoreRun会在运行迁移脚本之前恢复数据库的备份。如果是这种情况,我可以看到它在我不断测试我的新脚本的开发中很有用,但是没有看到它用于生产的目的。
以下是我的问题:
对此的任何见解都将非常感激。
答案 0 :(得分:3)
你误解了文档。它没有说在生产中使用RestoreRun。它说你应该在开发过程中使用它,当你的数据库已经投入生产时。
答案 1 :(得分:1)
好的,所以我找到了一些确认它的线索,但我仍然不明白为什么。我在用户和RoundhousE的作者之间找到了这个dialog:
问: RestoreRun与Normal相同,但执行恢复除外 先备份?
A:是的,它也不会在runAfterCreate文件夹中运行项目。它 包括/ restore / restorefrompath = VALUE / restorecustomoptions = VALUE / restoretimeout = VALUE项。 https://github.com/chucknorris/roundhouse/wiki/ConfigurationOptions
答案 2 :(得分:0)
这些必须是新模式,因为我没有在我的版本的rh.exe选项中看到它们。
“\ shared \ MSBuild \ Roundhouse \ rh.exe”-w / restoretimeout 36000 /cs=%server.connectionstring% /f=%sql.files.directory%/vf=%version.file% / vx =% version.xpath%/r=%repository.path% / env =%environment%
这相当于普通模式。
为了生产你需要的东西就像上面那样。 您不希望在生产中运行的任何新脚本都需要具有ENV。%environment%.sql,以便在环境设置为生产时不会执行这些脚本。