我有rake任务来更新我的数据库,任务是由外部钩子触发的。 (svn钩子)。当我运行rake更新db时,是否必须停止rails服务器?
rake任务将插入新记录并更新现有记录的某些列。没有数据库模式更改。
我还应该提到这是在生产中。
- 当耙式任务运行时,是否必须停止服务器?
- 如果我停止服务器,当访问者浏览网站时如何显示“更新”消息?
- 耙机任务完成后是否必须重新启动服务器?
我有rake任务来更新我的数据库,任务是由外部钩子触发的。 (svn钩子)。当我运行rake更新db时,是否必须停止rails服务器?
rake任务将插入新记录并更新现有记录的某些列。没有数据库模式更改。
我还应该提到这是在生产中。
当耙式任务正在运行时,是否必须停止服务器?
这取决于...如果迁移打破轨道站点(例如场或重命名表中删除),那么它可能会更好地展示某种“我们正在更新网站的早期版本,请进来在两分钟内返回“页面或者只是关闭rails服务器。
问问你自己,你以前的代码版本是否可以与新的数据库模式一起工作?如果是,那么你不必停止服务器或显示“我们正在更新”页面。如果不是,那么您应该考虑在迁移期间停止服务器。
耙机任务完成后是否必须重新启动服务器?
不,如果您只是添加/删除/更改数据库表中的某些记录。 是的,如果你正在改变数据库模式。
关于重定向,如果你决定不重新启动服务器,迁移\播种花费很长的时间,那么就改变
// config/routes.rb
root :to => 'controller#action'
一些新的控制器,将显示相应的消息(改变它将立即生效,无需重启)
在开发或生产? – Mischa
@Mischa在生产中。 –