"""Инвентарь сада: декорации покупаются без координат (x/y NULL — на складе).

Revision ID: f2a3b4c5d6e7
Revises: e1f0a2b3c4d5
Create Date: 2026-09-20 17:48:46.993892
"""

from collections.abc import Sequence

import sqlalchemy as sa

from alembic import op

revision: str = "f2a3b4c5d6e7"
down_revision: str | Sequence[str] | None = "e1f0a2b3c4d5"
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None


def upgrade() -> None:
    op.alter_column("garden_items", "x", existing_type=sa.Integer(), nullable=True)
    op.alter_column("garden_items", "y", existing_type=sa.Integer(), nullable=True)


def downgrade() -> None:
    # Неразмещенные декорации при откате ставятся в левый верхний угол
    op.get_bind().execute(sa.text("UPDATE garden_items SET x = 0, y = 0 WHERE x IS NULL"))
    op.alter_column("garden_items", "x", existing_type=sa.Integer(), nullable=False)
    op.alter_column("garden_items", "y", existing_type=sa.Integer(), nullable=False)
