# ruff: noqa # mypy: ignore-errors from tortoise import BaseDBAsyncClient RUN_IN_TRANSACTION = True async def upgrade(db: BaseDBAsyncClient) -> str: return """ ALTER TABLE "creative" DROP COLUMN "placements_count"; ALTER TABLE "placement" DROP COLUMN "subscriptions_count"; COMMENT ON COLUMN "placement"."status" IS 'ACTIVE: active ARCHIVED: archived'; CREATE UNIQUE INDEX IF NOT EXISTS "uid_subscriptio_placeme_8fcb8f" ON "subscription" ("placement_id", "subscriber_id");""" async def downgrade(db: BaseDBAsyncClient) -> str: return """ DROP INDEX IF EXISTS "uid_subscriptio_placeme_8fcb8f"; ALTER TABLE "creative" ADD "placements_count" INT NOT NULL DEFAULT 0; ALTER TABLE "placement" ADD "subscriptions_count" INT NOT NULL DEFAULT 0; COMMENT ON COLUMN "placement"."status" IS 'PENDING: pending ACTIVE: active DELETED: deleted ARCHIVED: archived';""" MODELS_STATE = ( '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' 'aq33Ha3tI7wbNxv9/j9vKFN0' )