fix: normalizar sync de google sheets para todos los dias, reparar 500 en ciclos lectivos, selector de ciclo lectivo en comisiones y opciones --keep-db --keep-users en install.sh
This commit is contained in:
+14
-1
@@ -20,11 +20,15 @@ hdr() { echo -e "\n${BOLD}${CYAN}══ $* ══${RESET}\n"; }
|
||||
|
||||
# ─── Argumentos de Línea de Comandos ───────────────────────────────────────────
|
||||
ARG_DB_ACTION=""
|
||||
ARG_KEEP_USERS=false
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--keep-db)
|
||||
ARG_DB_ACTION="keep"
|
||||
;;
|
||||
--keep-users)
|
||||
ARG_KEEP_USERS=true
|
||||
;;
|
||||
--fresh-db|--restore-db)
|
||||
ARG_DB_ACTION="fresh"
|
||||
;;
|
||||
@@ -32,6 +36,7 @@ for arg in "$@"; do
|
||||
echo "Uso: sudo bash install.sh [OPCIONES]"
|
||||
echo "Opciones:"
|
||||
echo " --keep-db Mantiene la base de datos existente si ya contiene datos."
|
||||
echo " --keep-users Preserva los usuarios existentes sin volver a crearlos o pisar sus contraseñas."
|
||||
echo " --fresh-db Restaura la base de datos desde cero (DROP y recarga snapshot)."
|
||||
echo " -h, --help Muestra esta ayuda."
|
||||
exit 0
|
||||
@@ -110,6 +115,8 @@ info "Directorio Raíz: ${ROOT_DIR}"
|
||||
info "Directorio Backend: ${BACKEND_DIR}"
|
||||
info "Directorio Frontend: ${FRONTEND_DIR}"
|
||||
info "Usuario de Servicio: ${APP_USER}"
|
||||
info "Preservar Base de Datos: ${ARG_DB_ACTION:-auto (interactivo/detección)}"
|
||||
info "Preservar Usuarios: ${ARG_KEEP_USERS}"
|
||||
|
||||
# ─── 1. Paquetes Base del Sistema ──────────────────────────────────────────────
|
||||
hdr "1. Actualizando repositorios y paquetes base"
|
||||
@@ -424,8 +431,14 @@ done
|
||||
|
||||
# Sincronización idempotente con init_db.py (crea tablas o columnas faltantes sin borrar datos)
|
||||
info "Sincronizando modelos y esquemas institucionales con init_db.py..."
|
||||
INIT_DB_EXTRA_FLAGS=()
|
||||
if [ "$ARG_KEEP_USERS" = true ]; then
|
||||
INIT_DB_EXTRA_FLAGS+=( "--keep-users" )
|
||||
info "Bandera --keep-users activada: init_db.py preservará los usuarios y contraseñas sin modificarlos ni recrearlos."
|
||||
fi
|
||||
|
||||
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 PYTHONUTF8=1 PYTHONIOENCODING=utf-8 \
|
||||
PYTHONPATH="${BACKEND_DIR}" FLASK_APP=wsgi.py "${VENV_DIR}/bin/python" -X utf8 init_db.py
|
||||
PYTHONPATH="${BACKEND_DIR}" FLASK_APP=wsgi.py "${VENV_DIR}/bin/python" -X utf8 init_db.py "${INIT_DB_EXTRA_FLAGS[@]}"
|
||||
ok "Esquema, usuarios y roles RBAC sincronizados con éxito"
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
Reference in New Issue
Block a user