1 | ALTER TABLE "user"
|
2 | ADD COLUMN "actor" INTEGER NULL;
|
3 |
|
4 | DO $$
|
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;
|
18 | END $$;
|
19 |
|
20 | ALTER TABLE "user"
|
21 | ALTER COLUMN "actor" SET NOT NULL,
|
22 | ADD CONSTRAINT "user_actor_fkey"
|
23 | FOREIGN KEY ("actor") REFERENCES "actor" ("id");
|
24 |
|
25 | ALTER TABLE "api_key"
|
26 | ADD COLUMN "actor" INTEGER NULL;
|
27 |
|
28 | UPDATE "api_key"
|
29 | SET "actor" = (
|
30 | SELECT u."actor"
|
31 | FROM "user" u
|
32 | WHERE u."id" = "api_key"."user"
|
33 | );
|
34 |
|
35 | ALTER TABLE "api_key"
|
36 | ALTER COLUMN "actor" SET NOT NULL,
|
37 | ADD CONSTRAINT "api_key_actor_fkey"
|
38 | FOREIGN KEY ("actor") REFERENCES "actor" ("id");
|
39 |
|
40 | ALTER TABLE "api_key"
|
41 | DROP CONSTRAINT "api_key_user_fkey";
|
42 |
|
43 | ALTER TABLE "api_key"
|
44 | DROP COLUMN "user";
|