Files
g0v0-server/migrations/versions/e96a649e18ca_achievement_remove_primary_key_.py
2025-08-21 08:50:16 +00:00

77 lines
2.2 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 ###