tortoise / aerich

A database migrations tool for TortoiseORM, ready to production.
https://github.com/tortoise/aerich
Apache License 2.0
804 stars 90 forks source link

Constratint drop bug #253

Open catarium opened 1 year ago

catarium commented 1 year ago

Aerich tries to drop constraint "fk_balance_person_a8a4fbbc" that does not exist. 1_20220725214250_test.sql

-- upgrade --
ALTER TABLE "balance" DROP CONSTRAINT "fk_balance_person_a8a4fbbc";
ALTER TABLE "balance" RENAME COLUMN "person_id_id" TO "person_id";
ALTER TABLE "balance" ADD CONSTRAINT "fk_balance_person_8d69fb75" FOREIGN KEY ("person_id") REFERENCES "person" ("id") ON DELETE CASCADE;
-- downgrade --
ALTER TABLE "balance" DROP CONSTRAINT "fk_balance_person_8d69fb75";
ALTER TABLE "balance" RENAME COLUMN "person_id" TO "person_id_id";
ALTER TABLE "balance" ADD CONSTRAINT "fk_balance_person_a8a4fbbc" FOREIGN KEY ("person_id_id") REFERENCES "person" ("id") ON DELETE CASCADE;

0_20220725124255_init.sql

-- upgrade --
CREATE TABLE IF NOT EXISTS "person" (
    "id" BIGSERIAL NOT NULL PRIMARY KEY,
    "tg_id" BIGINT NOT NULL
);
CREATE TABLE IF NOT EXISTS "balance" (
    "id" BIGSERIAL NOT NULL PRIMARY KEY,
    "data" JSONB,
    "person_id_id" BIGINT NOT NULL REFERENCES "person" ("id") ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS "aerich" (
    "id" SERIAL NOT NULL PRIMARY KEY,
    "version" VARCHAR(255) NOT NULL,
    "app" VARCHAR(100) NOT NULL,
    "content" JSONB NOT NULL
);