"""team: add team request table Revision ID: 65e7dc8d5905 Revises: d103d442dc24 Create Date: 2025-08-22 03:47:57.870398 """ from __future__ import annotations from collections.abc import Sequence from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import mysql import sqlmodel # revision identifiers, used by Alembic. revision: str = "65e7dc8d5905" down_revision: str | Sequence[str] | None = "d103d442dc24" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.create_table( "team_requests", sa.Column("user_id", sa.BigInteger(), nullable=False), sa.Column("team_id", sa.Integer(), nullable=False), sa.Column("requested_at", sa.DateTime(), nullable=True), sa.ForeignKeyConstraint( ["team_id"], ["teams.id"], ), sa.ForeignKeyConstraint( ["user_id"], ["lazer_users.id"], ), sa.PrimaryKeyConstraint("user_id", "team_id"), ) op.alter_column("team_members", "user_id", existing_type=mysql.BIGINT(), nullable=False) op.drop_index(op.f("ix_team_members_id"), table_name="team_members") op.drop_column("team_members", "id") op.add_column( "teams", sa.Column("cover_url", sqlmodel.sql.sqltypes.AutoString(), nullable=True), ) op.add_column("teams", sa.Column("leader_id", sa.BigInteger(), nullable=True)) op.alter_column( "teams", "flag_url", existing_type=mysql.VARCHAR(length=500), type_=sqlmodel.sql.sqltypes.AutoString(), existing_nullable=True, ) op.create_foreign_key(None, "teams", "lazer_users", ["leader_id"], ["id"]) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_constraint(None, "teams", type_="foreignkey") op.alter_column( "teams", "flag_url", existing_type=sqlmodel.sql.sqltypes.AutoString(), type_=mysql.VARCHAR(length=500), existing_nullable=True, ) op.drop_column("teams", "leader_id") op.drop_column("teams", "cover_url") op.add_column( "team_members", sa.Column("id", mysql.INTEGER(), autoincrement=True, nullable=False), ) op.create_index(op.f("ix_team_members_id"), "team_members", ["id"], unique=False) op.alter_column("team_members", "user_id", existing_type=mysql.BIGINT(), nullable=True) op.drop_table("team_requests") # ### end Alembic commands ###