"""Basic Auth Revision ID: 6d387b3196c2 Revises: 47433d30de82 Create Date: 2023-05-05 14:40:10.242502 """ import fastapi_users_db_sqlalchemy import sqlalchemy as sa from alembic import op from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision = "6d387b3196c2" down_revision = "47433d30de82" branch_labels: None = None depends_on: None = None def upgrade() -> None: op.create_table( "user", sa.Column("id", fastapi_users_db_sqlalchemy.generics.GUID(), nullable=False), sa.Column("email", sa.String(length=320), nullable=False), sa.Column("hashed_password", sa.String(length=1024), nullable=False), sa.Column("is_active", sa.Boolean(), nullable=False), sa.Column("is_superuser", sa.Boolean(), nullable=False), sa.Column("is_verified", sa.Boolean(), nullable=False), sa.Column( "role", sa.Enum("BASIC", "ADMIN", name="userrole", native_enum=False), default="BASIC", nullable=False, ), sa.PrimaryKeyConstraint("id"), ) op.create_index(op.f("ix_user_email"), "user", ["email"], unique=True) op.create_table( "accesstoken", sa.Column( "user_id", fastapi_users_db_sqlalchemy.generics.GUID(), nullable=False, ), sa.Column("token", sa.String(length=43), nullable=False), sa.Column( "created_at", fastapi_users_db_sqlalchemy.generics.TIMESTAMPAware(timezone=True), nullable=False, ), sa.ForeignKeyConstraint(["user_id"], ["user.id"], ondelete="cascade"), sa.PrimaryKeyConstraint("token"), ) op.create_index( op.f("ix_accesstoken_created_at"), "accesstoken", ["created_at"], unique=False, ) op.alter_column( "index_attempt", "time_created", existing_type=postgresql.TIMESTAMP(timezone=True), nullable=False, existing_server_default=sa.text("now()"), # type: ignore ) op.alter_column( "index_attempt", "time_updated", existing_type=postgresql.TIMESTAMP(timezone=True), nullable=False, ) def downgrade() -> None: op.alter_column( "index_attempt", "time_updated", existing_type=postgresql.TIMESTAMP(timezone=True), nullable=True, ) op.alter_column( "index_attempt", "time_created", existing_type=postgresql.TIMESTAMP(timezone=True), nullable=True, existing_server_default=sa.text("now()"), # type: ignore ) op.drop_index(op.f("ix_accesstoken_created_at"), table_name="accesstoken") op.drop_table("accesstoken") op.drop_index(op.f("ix_user_email"), table_name="user") op.drop_table("user")