"""Инвентарь сада: декорации покупаются без координат (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)