"""user_prefs: локаль-override и флаг блокировки пользователя.
Таблица минимальной записи пользователя (sub gnexus-auth — PK):
- locale — override языка интерфейса (i18n.md, конвенция хендбука);
- blocked — флаг из вебхуков gnexus-auth (user.blocked/user.unblocked/
user.deleted/user.archived/user.restored), гейтит MCP-токены владельца.
Revision ID: a4f8d2c17b90
Revises: c9a2d6e71f43
Create Date: 2026-10-04
"""
from alembic import op
import sqlalchemy as sa
revision = "a4f8d2c17b90"
down_revision = "c9a2d6e71f43"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.create_table(
"user_prefs",
sa.Column("user_id", sa.String(64), primary_key=True),
sa.Column("locale", sa.String(8), nullable=True),
sa.Column("blocked", sa.Boolean(), nullable=False, server_default="false"),
sa.Column("blocked_at", sa.DateTime(timezone=True), nullable=True),
sa.Column(
"updated_at", sa.DateTime(timezone=True),
server_default=sa.text("now()"), nullable=False,
),
)
def downgrade() -> None:
op.drop_table("user_prefs")