根据文档,RoundhousE有三种模式:
前2条很清楚,但我不理解RestoreRun模式及其在生产中的好处:
一旦投入生产,如果数据库足够小,则从DropCreate切换到RestoreRun模式。如果不是,您可以继续使用维护模式,方法是切换到要更改的新脚本名。您还可以只备份结构(如果使用像LiteSpeed这样的工具,还可以备份一些查找数据)并从中进行还原。
我的印象是,在运行迁移脚本之前,RestoreRun将恢复数据库的备份。如果是这样的话,我可以看到它在开发中很有用,因为我正在反复测试我的新脚本,但没有看到它用于生产的目的。
以下是我的问题:
任何对此的洞察力都将不胜感激。
发布于 2012-07-29 12:11:36
你误解了文件。它并没有说在生产中使用RestoreRun。它说,当数据库已经在生产时,您应该在开发过程中使用它。
发布于 2012-03-19 19:50:35
好的,我找到了一些线索来证实它的作用,但我还是不明白为什么。我在一个用户和RoundhousE的作者之间找到了这个RoundhousE:
Q:除了首先执行备份还原之外,是否与正常的RestoreRun相同? A:是的,而且它也不运行runAfterCreate文件夹中的项目。它包括/restore /restorefrompath=VALUE /restorecustomoptions=VALUE /restoretimeout=VALUE项。https://github.com/chucknorris/roundhouse/wiki/ConfigurationOptions
发布于 2011-11-08 01:23:17
这些必须是新的模式,因为我没有在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,这样当环境被设置为生产时,这些脚本就不会被执行。
https://stackoverflow.com/questions/7906605
复制相似问题