36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
|
|
"""user classification/certification
|
||
|
|
|
||
|
|
Revision ID: 0007_user_classification
|
||
|
|
Revises: 0006_user_source_fields
|
||
|
|
Create Date: 2026-08-25
|
||
|
|
"""
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from alembic import op
|
||
|
|
import sqlalchemy as sa
|
||
|
|
|
||
|
|
revision = "0007_user_classification"
|
||
|
|
down_revision = "0006_user_source_fields"
|
||
|
|
branch_labels = None
|
||
|
|
depends_on = None
|
||
|
|
|
||
|
|
|
||
|
|
def _add(table, col):
|
||
|
|
conn = op.get_bind()
|
||
|
|
cols = {r[1] for r in conn.execute(sa.text(f"PRAGMA table_info({table})"))}
|
||
|
|
if col.name not in cols:
|
||
|
|
op.add_column(table, col)
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
_add("users", sa.Column("certification_status", sa.String, server_default="uncertified"))
|
||
|
|
_add("users", sa.Column("certification_time", sa.String, server_default=""))
|
||
|
|
_add("users", sa.Column("affiliation", sa.String, server_default="independent"))
|
||
|
|
_add("users", sa.Column("park_id", sa.String, server_default=""))
|
||
|
|
_add("users", sa.Column("park_name", sa.String, server_default=""))
|
||
|
|
_add("users", sa.Column("account_type", sa.String, server_default="opc_default"))
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
pass
|