Referring to the procedure of site updating:
- close site and show pretty “under construction, updating site”
message, so that users don’t get confused by half-updated site
meanwhile migrations are being applied
- perform QA check
- open site
In order to minimize site downtime closing of site seems to be be to
radical solution in reality to users.
There is an idea to keep site in state, where changes to DB aren
deprecated during the update.
During that time during the update this will be possible to do with
less rush the QA check, apply migrations, update the next version of
Then to switch document_root of server (frontend+backends) to a new
Now to return back to rails, and to the question =)
It’s logical to create a general solution on the ActiveRecord level
that will not allow update, insert, delete.
At the same time controller should somehow know about this and render
some pretty view with maintenance content.
Is this logic correct?
How to correctly connect, i.e. how the model will let controller know
that the maintenance is going on right now?
Maybe there should be some exception in model, and controller will be
getting this kind of specific exception?