YoloFace-BE/alembic/versions/089138f9c051_users.py
2024-11-04 15:36:52 +08:00

213 lines
7.1 KiB
Python

"""users
Revision ID: 089138f9c051
Revises:
Create Date: 2024-11-04 15:31:52.096235
"""
from alembic import op
import sqlalchemy as sa
import sqlmodel
from fastapi_user_auth.utils.sqltypes import SecretStrType
# revision identifiers, used by Alembic.
revision = "089138f9c051"
down_revision = None
branch_labels = None
depends_on = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table(
"auth_casbin_rule",
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("ptype", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("v0", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("v1", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.Column("v2", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("v3", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("v4", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column("v5", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_table(
"auth_login_history",
sa.Column("create_time", sa.DateTime(), nullable=False),
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("user_id", sa.Integer(), nullable=True),
sa.Column(
"login_name",
sqlmodel.sql.sqltypes.AutoString(length=20),
nullable=False,
),
sa.Column("ip", sqlmodel.sql.sqltypes.AutoString(length=20), nullable=False),
sa.Column(
"ip_info",
sqlmodel.sql.sqltypes.AutoString(length=255),
nullable=False,
),
sa.Column(
"client",
sqlmodel.sql.sqltypes.AutoString(length=20),
nullable=False,
),
sa.Column(
"user_agent",
sqlmodel.sql.sqltypes.AutoString(length=400),
nullable=False,
),
sa.Column(
"login_type",
sqlmodel.sql.sqltypes.AutoString(length=20),
nullable=False,
),
sa.Column(
"login_status",
sqlmodel.sql.sqltypes.AutoString(length=20),
nullable=False,
),
sa.Column(
"forwarded_for",
sqlmodel.sql.sqltypes.AutoString(length=60),
nullable=False,
),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
op.f("ix_auth_login_history_create_time"),
"auth_login_history",
["create_time"],
unique=False,
)
op.create_table(
"auth_role",
sa.Column("delete_time", sa.DateTime(), nullable=True),
sa.Column(
"update_time",
sa.DateTime(),
server_default=sa.text("now()"),
nullable=True,
),
sa.Column("create_time", sa.DateTime(), nullable=False),
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("key", sqlmodel.sql.sqltypes.AutoString(length=40), nullable=False),
sa.Column("name", sqlmodel.sql.sqltypes.AutoString(length=40), nullable=False),
sa.Column(
"desc",
sqlmodel.sql.sqltypes.AutoString(length=400),
nullable=False,
),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
op.f("ix_auth_role_create_time"),
"auth_role",
["create_time"],
unique=False,
)
op.create_index(op.f("ix_auth_role_key"), "auth_role", ["key"], unique=True)
op.create_index(
op.f("ix_auth_role_update_time"),
"auth_role",
["update_time"],
unique=False,
)
op.create_table(
"auth_token",
sa.Column("create_time", sa.DateTime(), nullable=False),
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("token", sa.String(length=48), nullable=False),
sa.Column("data", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
op.f("ix_auth_token_create_time"),
"auth_token",
["create_time"],
unique=False,
)
op.create_index(op.f("ix_auth_token_token"), "auth_token", ["token"], unique=True)
op.create_table(
"auth_user",
sa.Column("email", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
sa.Column(
"password",
SecretStrType(),
nullable=False,
),
sa.Column(
"username",
sqlmodel.sql.sqltypes.AutoString(length=32),
nullable=False,
),
sa.Column("delete_time", sa.DateTime(), nullable=True),
sa.Column(
"update_time",
sa.DateTime(),
server_default=sa.text("now()"),
nullable=True,
),
sa.Column("create_time", sa.DateTime(), nullable=False),
sa.Column("id", sa.Integer(), autoincrement=True, nullable=False),
sa.Column("is_active", sa.Boolean(), nullable=False),
sa.Column(
"nickname",
sqlmodel.sql.sqltypes.AutoString(length=40),
nullable=True,
),
sa.Column(
"avatar",
sqlmodel.sql.sqltypes.AutoString(length=255),
nullable=True,
),
sa.Column(
"student_id",
sqlmodel.sql.sqltypes.AutoString(length=15),
nullable=True,
),
sa.Column("phone", sqlmodel.sql.sqltypes.AutoString(length=15), nullable=True),
sa.PrimaryKeyConstraint("id"),
)
op.create_index(
op.f("ix_auth_user_create_time"),
"auth_user",
["create_time"],
unique=False,
)
op.create_index(op.f("ix_auth_user_email"), "auth_user", ["email"], unique=False)
op.create_index(
op.f("ix_auth_user_update_time"),
"auth_user",
["update_time"],
unique=False,
)
op.create_index(
op.f("ix_auth_user_username"), "auth_user", ["username"], unique=True
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f("ix_auth_user_username"), table_name="auth_user")
op.drop_index(op.f("ix_auth_user_update_time"), table_name="auth_user")
op.drop_index(op.f("ix_auth_user_email"), table_name="auth_user")
op.drop_index(op.f("ix_auth_user_create_time"), table_name="auth_user")
op.drop_table("auth_user")
op.drop_index(op.f("ix_auth_token_token"), table_name="auth_token")
op.drop_index(op.f("ix_auth_token_create_time"), table_name="auth_token")
op.drop_table("auth_token")
op.drop_index(op.f("ix_auth_role_update_time"), table_name="auth_role")
op.drop_index(op.f("ix_auth_role_key"), table_name="auth_role")
op.drop_index(op.f("ix_auth_role_create_time"), table_name="auth_role")
op.drop_table("auth_role")
op.drop_index(
op.f("ix_auth_login_history_create_time"),
table_name="auth_login_history",
)
op.drop_table("auth_login_history")
op.drop_table("auth_casbin_rule")
# ### end Alembic commands ###