UNPKG

883 Bapplication/x-sqlView Raw
1ALTER TABLE "user"
2ADD COLUMN "actor" INTEGER NULL;
3
4DO $$
5 DECLARE r record;
6 BEGIN
7 FOR r IN SELECT "id", "created at", "actor"
8 FROM "user"
9 LOOP
10 INSERT INTO "actor" ("created at")
11 VALUES (r."created at")
12 RETURNING "id" INTO r."actor";
13
14 UPDATE "user"
15 SET "actor" = r."actor"
16 WHERE "id" = r."id";
17 END LOOP;
18END $$;
19
20ALTER TABLE "user"
21ALTER COLUMN "actor" SET NOT NULL,
22ADD CONSTRAINT "user_actor_fkey"
23FOREIGN KEY ("actor") REFERENCES "actor" ("id");
24
25ALTER TABLE "api_key"
26ADD COLUMN "actor" INTEGER NULL;
27
28UPDATE "api_key"
29SET "actor" = (
30 SELECT u."actor"
31 FROM "user" u
32 WHERE u."id" = "api_key"."user"
33);
34
35ALTER TABLE "api_key"
36ALTER COLUMN "actor" SET NOT NULL,
37ADD CONSTRAINT "api_key_actor_fkey"
38FOREIGN KEY ("actor") REFERENCES "actor" ("id");
39
40ALTER TABLE "api_key"
41DROP CONSTRAINT "api_key_user_fkey";
42
43ALTER TABLE "api_key"
44DROP COLUMN "user";