Initial commit: 浼佷笟寰俊 AI 鏈哄櫒浜哄姪鐞?MVP
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
36
backend/alembic/versions/003_add_missing_columns.py
Normal file
36
backend/alembic/versions/003_add_missing_columns.py
Normal file
@@ -0,0 +1,36 @@
|
||||
"""add missing columns if users table exists without them
|
||||
|
||||
Revision ID: 003
|
||||
Revises: 002
|
||||
Create Date: 2025-02-05
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
revision: str = "003"
|
||||
down_revision: Union[str, None] = "002"
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# 检查 users 表是否存在 role 列,若不存在则添加
|
||||
conn = op.get_bind()
|
||||
inspector = sa.inspect(conn)
|
||||
columns = [c["name"] for c in inspector.get_columns("users")] if inspector.has_table("users") else []
|
||||
|
||||
if "users" in inspector.get_table_names():
|
||||
if "role" not in columns:
|
||||
op.add_column("users", sa.Column("role", sa.String(32), nullable=False, server_default="admin"))
|
||||
if "is_active" not in columns:
|
||||
op.add_column("users", sa.Column("is_active", sa.Boolean(), nullable=False, server_default="true"))
|
||||
if "created_at" not in columns:
|
||||
op.add_column("users", sa.Column("created_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=True))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# 可选:移除这些列(通常不需要)
|
||||
pass
|
||||
Reference in New Issue
Block a user