37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
"""Passwörter und Tokens an Quellen
|
|
|
|
Revision ID: 0004
|
|
Revises: 0003
|
|
Erstellt: 2026-10-21 23:05:24.232956
|
|
"""
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
revision = '0004'
|
|
down_revision = '0003'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.add_column('data_sources', sa.Column('secret', sa.String(length=2000), nullable=True))
|
|
op.add_column('data_sources', sa.Column('secret_hint', sa.String(length=10), nullable=False, server_default=''))
|
|
op.drop_column('data_sources', 'credential_ref')
|
|
op.add_column('users', sa.Column('password_hash', sa.String(length=200), nullable=True))
|
|
op.add_column('users', sa.Column('must_change_password', sa.Boolean(), nullable=False, server_default=sa.false()))
|
|
op.add_column('users', sa.Column('failed_logins', sa.Integer(), nullable=False, server_default='0'))
|
|
op.add_column('users', sa.Column('locked_until', sa.DateTime(timezone=True), nullable=True))
|
|
op.add_column('users', sa.Column('password_changed', sa.DateTime(timezone=True), nullable=True))
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column('users', 'password_changed')
|
|
op.drop_column('users', 'locked_until')
|
|
op.drop_column('users', 'failed_logins')
|
|
op.drop_column('users', 'must_change_password')
|
|
op.drop_column('users', 'password_hash')
|
|
op.add_column('data_sources', sa.Column('credential_ref', sa.VARCHAR(length=200), autoincrement=False, nullable=True))
|
|
op.drop_column('data_sources', 'secret_hint')
|
|
op.drop_column('data_sources', 'secret')
|