Files
g0v0-server/migrations/versions/2025-08-21_e96a649e18ca_achievement_remove_primary_key_.py

65 lines
2.1 KiB
Python

"""achievement: remove primary key `achievement_id`
Revision ID: e96a649e18ca
Revises: 4f46c43d8601
Create Date: 2025-08-21 08:03:00.670670
"""
from __future__ import annotations
from collections.abc import Sequence
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = "e96a649e18ca"
down_revision: str | Sequence[str] | None = "4f46c43d8601"
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.drop_constraint(constraint_name="PRIMARY", table_name="lazer_user_achievements", type_="primary")
op.create_primary_key("pk_lazer_user_achievements", "lazer_user_achievements", ["id"])
op.create_index(
"ix_lazer_user_achievements_achievement_id",
"lazer_user_achievements",
["achievement_id"],
)
op.create_unique_constraint("uq_user_achievement", "lazer_user_achievements", ["user_id", "achievement_id"])
op.alter_column(
"lazer_user_achievements",
"id",
existing_type=sa.Integer(),
type_=sa.Integer(),
autoincrement=True,
existing_nullable=True,
nullable=False,
existing_server_default=None,
)
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column(
"lazer_user_achievements",
"id",
existing_type=sa.Integer(),
type_=sa.Integer(),
autoincrement=False,
existing_nullable=True,
nullable=False,
existing_server_default=None,
)
op.drop_constraint(constraint_name="PRIMARY", table_name="lazer_user_achievements", type_="primary")
op.drop_constraint("uq_user_achievement", "lazer_user_achievements", type_="unique")
op.drop_index("ix_lazer_user_achievements_achievement_id", "lazer_user_achievements")
op.create_primary_key("PRIMARY", "lazer_user_achievements", ["id", "achievement_id"])
# ### end Alembic commands ###