Hi GaJ I just tested and it looks like it works the way you and I want. (it is additive so you can just specify the one variable)
Not sure when they fixed it, but sure enough - we're all set on this one. --Keenan On Sep 3, 2009, at 11:26 PM, GreenAsJade wrote: > > It's a nice idea. > > One small fly in the ointment is that you can't individually set > heroku configuraiton variables (unless this is fixed now?) > > Certainly last time I tried it, I found that any env var not set > explicitly on the same config:add statement was removed. IE > config:add is not additive. > > This means that to implement the suggestion above, you would have to > ensure that each time you turn on and off MAINTAIN you will have to be > setting all the other vars as well. A royal PITA. > > GaJ > > > On Sep 4, 3:59 am, Keenan Brock <kee...@thebrocks.net> wrote: >> Hi Thomas, >> >> For passenger, there is a way to say if a file is present, then >> display a maintenance page. (using mod rewrite) >> This got me thinking. >> >> Heroku has environmental variables. So why not use an environmental >> variable to trigger a maintenance page? >> >> Maybe you can add a maintenance page to your site. >> e.g.: >> >> setup the blocker: >> >> config/routes.rb: (below Routes.draw but above the other entries) >> if ENV['MAINTAIN']=='true' >> map.maintain '*path', :controller => 'application', :action => >> 'show500' >> end >> >> -or- >> application_controller.rb >> if ENV['MAINTAIN']=='true' >> before_filter :show500 >> end >> >> and setup the renderer: >> >> app/controllers/application_controller.rb >> def show500 >> render :file => 'shared/maintain', :status => 500 >> false >> end >> >> To turn it on: >> >> heroku config:add MAINTAIN true >> The site will say "we'll be back soon" >> rake db:migrate >> other stuff >> heroku config:remove MAINTAIN >> >> Hope this meets your needs. >> >> I'll throw together a plugin when I get the chance. But long weekend >> suggests I'll have other things on my plate. >> --Keenan >> >> On Sep 1, 2009, at 2:25 PM, geolev wrote: >> >> >> >>> I think this would be great. Does anyone know how to do this? >> >>> On Aug 28, 2:52 am, Thomas Balthazar <gro...@suitmymind.com> wrote: >>>> Hello, >> >>>> I'd like to know what would be the best way to put an application >>>> into >>>> maintenance state. >> >>>> I want to deploy a major update (code + db structure + data >>>> migration) >>>> on a Production app, and I'd like to be sure that users don't use >>>> the >>>> app while I'm deploying and testing. >> >>>> As far as I know, as soon as I run 'git push heroku', the app is >>>> deployed and the users are able to access it. >>>> The problem is that I haven't run 'heroku rake db:migrate' yet, so >>>> the >>>> app that is online right now doesn't work. >>>> Also, once I've run 'heroku rake db:migrate', I'd like to be able >>>> to >>>> test the app to be really sure everything is ok. >>>> But the users are already using the app and if I made a mistake >>>> and I >>>> want to rollback, I can't, since users are already using the new DB >>>> structure. >> >>>> I know I have to test the app so it doesn't happen, I also have a >>>> Staging app to test everything, but, you know, sometimes things >>>> still >>>> go wrong. >> >>>> So, what would be the best approach to achieve an application >>>> 'maintenance' state? >> >>>> Thanks for your suggestions. >> >>>> Best, >>>> Thomas. > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Heroku" group. To post to this group, send email to heroku@googlegroups.com To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/heroku?hl=en -~----------~----~----~----~------~----~------~--~---