How to handle database migrations safely in production with zero downtime?