Si tiene un nuevo módulo y necesita ejecutarse, setup:upgrade
entonces no veo una forma en que pueda tener cero tiempo de inactividad. Siempre va a fallar entre 10 y 20 segundos porque necesita actualizar la base de datos. ¿O me estoy perdiendo algo?
Incluso si está implementando en una carpeta diferente y luego, cuando se generan todos los archivos, hace un enlace simbólico del entorno en vivo a esta carpeta, aún debe cuidar la base de datos.
fuente