gmao/migrations/versions/b9c3d4e5f6a7_disable_demo_admin.py

31 lines
810 B
Python
Raw Normal View History

"""Désactive le compte de démonstration admin.
Revision ID: b9c3d4e5f6a7
Revises: a8b2c3d4e5f6
"""
from alembic import op
revision = "b9c3d4e5f6a7"
down_revision = "a8b2c3d4e5f6"
branch_labels = None
depends_on = None
def upgrade():
# Ne désactive le compte de démonstration que si un autre administrateur
# actif permet de conserver l'accès à l'application.
op.execute("""
UPDATE users
SET is_active = 0
WHERE username = 'admin'
AND EXISTS (
SELECT 1 FROM (
SELECT id FROM users
WHERE role = 'admin' AND is_active = 1 AND username <> 'admin'
) AS active_admins
)
""")
def downgrade():
# Une migration de sécurité ne réactive jamais automatiquement un compte.
pass