当我运行rake来更新db时,我是否必须停止rails服务器?

时间:2013-07-03 15:21:57

标签: ruby-on-rails rake

我有rake任务来更新我的数据库,任务由外部钩子触发。 (svn钩子)。

rake任务将插入新记录并更新现有记录的某些列。没有数据库架构更改。

我还应该提到这是在制作中。

  • rake任务运行时是否必须停止服务器?
  • 如果我停止服务器,当访问者查看网站时如何显示“更新”消息?
  • rake任务完成后我是否必须重启服务器?

3 个答案:

答案 0 :(得分:1)

您不需要为rake重新启动rails服务器:db:migrate rake:db:reset或rake:db:create。

答案 1 :(得分:0)

  

rake任务运行时是否必须停止服务器?

这取决于...如果您的迁移破坏了以前版本的rails网站(例如字段重命名或删除表格),那么最好显示某种“我们正在更新我们的网站,请回来两个分钟“页面或只关闭rails服务器。

问问自己,您以前的代码版本是否适用于新的数据库架构?如果是,那么您不必停止服务器或显示“我们正在更新”页面。如果不是,那么您应该考虑在迁移期间停止服务器。

  

rake任务完成后我是否必须重启服务器?

不,如果您只是添加/删除/更改数据库表中的某些记录。 是的,如果您要更改数据库架构。

答案 2 :(得分:0)

关于重定向,如果您决定不重启服务器并且迁移\播种需要很长时间,那么只需更改

// config/routes.rb
root :to => 'controller#action'

到一些新的控制器,它将显示相应的消息(更改它将立即生效,无需重启)

相关问题