$ heroku config
HIDE      => true
RACK_ENV  => production
$ heroku config:add MAINTAIN=true
Adding config vars:
   MAINTAIN => true
Restarting app...done.
$ heroku config
HIDE      => true
MAINTAIN  => true
RACK_ENV  => production
$ heroku config:remove MAINTAIN
Removing MAINTAIN and restarting app...done.
$ heroku config
HIDE      => true
RACK_ENV  => production
$

This is what I am seeing. Note the 'HIDE' variable
maybe only for uppercase env variables?

On Sep 4, 2009, at 2:24 AM, GreenAsJade wrote:

>
> The old thread on this is here:
>
> http://groups.google.com/group/heroku/browse_thread/thread/7963db5d7691f52e/
>
> Note that RACK_ENV always stayed set, in case that's what you saw.
>
>
> On Sep 4, 1:08 pm, Keenan Brock <[email protected]> wrote:
>> 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 <[email protected]> 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 <[email protected]>  
>>>>> 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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to