fix: prevent data loose on track_types_id migration (#1949)
This commit is contained in:
parent
64f2f8fc68
commit
d323657047
2 changed files with 22 additions and 11 deletions
|
@ -10,15 +10,18 @@ ALTER TABLE "cc_files" ADD CONSTRAINT "cc_files_track_type_fkey"
|
|||
FOREIGN KEY ("track_type_id")
|
||||
REFERENCES "cc_track_types" ("id");
|
||||
|
||||
UPDATE "cc_files" previous SET "track_type_id" = (
|
||||
UPDATE "cc_files" SET "track_type" = NULL
|
||||
WHERE "track_type" = '';
|
||||
|
||||
UPDATE "cc_files" file SET "track_type_id" = (
|
||||
SELECT "id" FROM "cc_track_types"
|
||||
WHERE "code" = previous."track_type"
|
||||
WHERE "code" = file."track_type"
|
||||
)
|
||||
WHERE "track_type" IS NOT NULL;
|
||||
|
||||
UPDATE "cc_pref" previous SET "valstr" = (
|
||||
UPDATE "cc_pref" file SET "valstr" = (
|
||||
SELECT "id" FROM "cc_track_types"
|
||||
WHERE "code" = previous."valstr"
|
||||
WHERE "code" = file."valstr"
|
||||
)
|
||||
WHERE "keystr" = 'tracktype_default'
|
||||
AND "valstr" <> '';
|
||||
|
@ -27,17 +30,23 @@ ALTER TABLE "cc_files" DROP COLUMN IF EXISTS "track_type";
|
|||
"""
|
||||
|
||||
DOWN = """
|
||||
ALTER TABLE "cc_files" DROP CONSTRAINT "cc_files_track_type_fkey";
|
||||
ALTER TABLE "cc_files" DROP COLUMN IF EXISTS "track_type_id";
|
||||
|
||||
ALTER TABLE "cc_files" ADD COLUMN "track_type" VARCHAR(16);
|
||||
|
||||
UPDATE "cc_pref" previous SET "valstr" = (
|
||||
UPDATE "cc_files" file SET "track_type" = (
|
||||
SELECT "code" FROM "cc_track_types"
|
||||
WHERE "id" = previous."valstr"::int
|
||||
WHERE "id" = file."track_type_id"
|
||||
)
|
||||
WHERE "track_type_id" IS NOT NULL;
|
||||
|
||||
UPDATE "cc_pref" pref SET "valstr" = (
|
||||
SELECT "code" FROM "cc_track_types"
|
||||
WHERE "id" = pref."valstr"::int
|
||||
)
|
||||
WHERE "keystr" = 'tracktype_default'
|
||||
AND "valstr" <> '';
|
||||
|
||||
ALTER TABLE "cc_files" DROP CONSTRAINT "cc_files_track_type_fkey";
|
||||
ALTER TABLE "cc_files" DROP COLUMN IF EXISTS "track_type_id";
|
||||
"""
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue