| 1 | CREATE TYPE "public"."issue_reference_source" AS ENUM('issue', 'comment', 'commit');--> statement-breakpoint |
| 2 | ALTER TYPE "public"."issue_event_type |
| 3 | CREATE TABLE "issue_reference" ( |
| 4 | "id" text PRIMARY KEY |
| 5 | "sourceType" "issue_reference_source" NOT NULL |
| 6 | "sourceId" text NOT NULL |
| 7 | "sourceRepositoryId" text NOT NULL |
| 8 | "sourceIssueId" text, |
| 9 | "targetIssueId" text NOT NULL |
| 10 | "closing" boolean DEFAULT |
| 11 | "actorId" text, |
| 12 | "createdAt" timestamp with time zone DEFAULT |
| 13 | CONSTRAINT "issue_reference_id_unique" UNIQUE |
| 14 | ); |
| 15 | --> statement-breakpoint |
| 16 | ALTER TABLE "issue" ADD COLUMN |
| 17 | ALTER TABLE "pull_request" ADD COLUMN |
| 18 | UPDATE "pull_request" SET "issueId |
| 19 | -- Issues and pull requests counted separately until now; a request whose number an issue already holds moves past the repository's highest number, oldest first. |
| 20 | INSERT INTO "issue" ("id", |
| 21 | SELECT |
| 22 | pr."issueId", |
| 23 | pr."baseRepositoryId", |
| 24 | CASE WHEN taken.number IS |
| 25 | greatest( |
| 26 | coalesce((SELECT max(i. |
| 27 | (SELECT max(p."number" |
| 28 | ) + row_number() OVER (PARTITION |
| 29 | END, |
| 30 | pr."title", |
| 31 | pr."body", |
| 32 | CASE WHEN pr."state" = |
| 33 | true, |
| 34 | pr."authorId", |
| 35 | pr."closedAt", |
| 36 | pr."createdAt", |
| 37 | pr."updatedAt" |
| 38 | FROM "pull_request" pr |
| 39 | LEFT JOIN "issue" taken ON taken."repositoryId |
| 40 | INSERT INTO "issue_event" ("id", |
| 41 | SELECT 'iev_' || replace |
| 42 | FROM "pull_request" pr;--> statement-breakpoint |
| 43 | INSERT INTO "issue_comment" ("id", |
| 44 | SELECT c."id", pr."issueId", c. |
| 45 | FROM "pull_request_comment" c |
| 46 | JOIN "pull_request" pr ON pr."id |
| 47 | UPDATE "issue" SET "commentCount |
| 48 | FROM (SELECT "issueId", count |
| 49 | WHERE counted."issueId" = "issue |
| 50 | ALTER TABLE "pull_request" ALTER COLUMN |
| 51 | DROP TABLE "pull_request_comment" CASCADE;-- |
| 52 | ALTER TABLE "pull_request" DROP |
| 53 | --> statement-breakpoint |
| 54 | DROP INDEX "pull_request_base_number_idx";-- |
| 55 | DROP INDEX "issue_repo_state_idx";-- |
| 56 | ALTER TABLE "issue_event" ADD COLUMN |
| 57 | ALTER TABLE "issue_event" ADD COLUMN |
| 58 | ALTER TABLE "issue_reference" ADD |
| 59 | ALTER TABLE "issue_reference" ADD |
| 60 | ALTER TABLE "issue_reference" ADD |
| 61 | ALTER TABLE "issue_reference" ADD |
| 62 | CREATE UNIQUE INDEX "issue_reference_source_target_idx" ON |
| 63 | CREATE INDEX "issue_reference_target_idx" ON |
| 64 | CREATE INDEX "issue_reference_source_issue_idx" ON |
| 65 | ALTER TABLE "pull_request" ADD |
| 66 | ALTER TABLE "issue_event" ADD |
| 67 | CREATE INDEX "issue_repo_kind_state_idx" ON |
| 68 | ALTER TABLE "pull_request" DROP COLUMN |
| 69 | ALTER TABLE "pull_request" DROP COLUMN |
| 70 | ALTER TABLE "pull_request" DROP COLUMN |
| 71 | ALTER TABLE "pull_request" DROP COLUMN |
| 72 | ALTER TABLE "pull_request" DROP COLUMN |
| 73 | ALTER TABLE "pull_request" DROP COLUMN |
| 74 | ALTER TABLE "pull_request" DROP COLUMN |
| 75 | ALTER TABLE "pull_request" ADD |