Skip to content

Commit cb285b3

Browse files
authored
Merge pull request #43 from topcoder-platform/migration-history-fix
Migration history fix
2 parents b829e34 + 38dd16c commit cb285b3

File tree

3 files changed

+49
-10
lines changed

3 files changed

+49
-10
lines changed

prisma/migrations/20251107090000_add_my_reviews_indexes/migration.sql

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@ CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA skills;
1111
CREATE INDEX IF NOT EXISTS "challenge_status_type_track_created_at_idx"
1212
ON "Challenge" ("status", "typeId", "trackId", "createdAt" DESC);
1313

14-
DROP INDEX IF EXISTS "challenge_name_idx";
15-
16-
CREATE INDEX IF NOT EXISTS "challenge_name_trgm_idx"
17-
ON "Challenge" USING gin ("name" pg_catalog.gin_trgm_ops);
18-
1914
DO
2015
$$
2116
DECLARE
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
-- Remove deprecated ChallengePhase ordering index and allow AI reviewer flag to be nullable.
2+
3+
DO
4+
$$
5+
DECLARE
6+
idx_schema TEXT;
7+
BEGIN
8+
SELECT n.nspname
9+
INTO idx_schema
10+
FROM pg_class c
11+
JOIN pg_namespace n ON n.oid = c.relnamespace
12+
WHERE c.relname = 'challenge_phase_order_idx'
13+
AND c.relkind = 'i'
14+
LIMIT 1;
15+
16+
IF idx_schema IS NOT NULL THEN
17+
EXECUTE format('DROP INDEX %I.%I', idx_schema, 'challenge_phase_order_idx');
18+
END IF;
19+
END
20+
$$ LANGUAGE plpgsql;
21+
22+
DO
23+
$$
24+
DECLARE
25+
tbl_schema TEXT;
26+
BEGIN
27+
SELECT n.nspname
28+
INTO tbl_schema
29+
FROM pg_class c
30+
JOIN pg_namespace n ON n.oid = c.relnamespace
31+
WHERE c.relname = 'DefaultChallengeReviewer'
32+
AND c.relkind = 'r'
33+
LIMIT 1;
34+
35+
IF tbl_schema IS NULL THEN
36+
RETURN;
37+
END IF;
38+
39+
EXECUTE format(
40+
'ALTER TABLE %I.%I ALTER COLUMN %I DROP NOT NULL',
41+
tbl_schema,
42+
'DefaultChallengeReviewer',
43+
'isAIReviewer'
44+
);
45+
END
46+
$$ LANGUAGE plpgsql;

prisma/schema.prisma

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ datasource db {
55

66
generator client {
77
provider = "prisma-client-js"
8-
previewFeatures = ["fullTextSearchPostgres", "postgresqlExtensions"]
8+
previewFeatures = ["fullTextSearchPostgres", "postgresqlExtensions", "views"]
99
}
1010

1111
// Enum for allowed challenge track values (matches app-constants)
@@ -157,7 +157,6 @@ model Challenge {
157157
@@index([status, startDate])
158158
@@index([trackId, typeId, status])
159159
@@index([status, typeId, trackId, createdAt(sort: Desc)], map: "challenge_status_type_track_created_at_idx")
160-
@@index([name(ops: raw("pg_catalog.gin_trgm_ops"))], type: Gin, map: "challenge_name_trgm_idx")
161160
@@index([legacyId])
162161
@@index([projectId, status])
163162
}
@@ -166,13 +165,12 @@ model Challenge {
166165
// MemberChallengeAccess view – member/challenge pairs from resources schema
167166
//////////////////////////////////////////
168167

169-
model MemberChallengeAccess {
168+
view MemberChallengeAccess {
170169
challengeId String
171170
memberId String
172171
173172
challenge Challenge @relation(fields: [challengeId], references: [id])
174173
175-
@@id([challengeId, memberId])
176174
@@map("MemberChallengeAccess")
177175
}
178176

@@ -660,7 +658,7 @@ model DefaultChallengeReviewer {
660658
baseCoefficient Float?
661659
incrementalCoefficient Float?
662660
opportunityType ReviewOpportunityTypeEnum?
663-
isAIReviewer Boolean
661+
isAIReviewer Boolean?
664662
shouldOpenOpportunity Boolean @default(true)
665663
666664
// Relations

0 commit comments

Comments
 (0)