31 lines
810 B
Python
31 lines
810 B
Python
|
|
"""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
|