Skip to content

Commit 18e1b86

Browse files
authored
Merge pull request #93 from topcoder-platform/dev
PM-2518 - create db migration for the winnings & payments indexes
2 parents bc83cd6 + fcea87a commit 18e1b86

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
CREATE INDEX idx_payment_installment_number ON payment USING btree (installment_number);
2+
CREATE INDEX idx_payment_installment_status_version ON payment USING btree (installment_number, payment_status, winnings_id, version DESC);
3+
CREATE INDEX idx_payment_status_winnings ON payment USING btree (payment_status, winnings_id);
4+
CREATE INDEX idx_payment_win_inst_status ON payment USING btree (winnings_id, installment_number, payment_status);
5+
CREATE INDEX idx_payment_winnings_id ON payment USING btree (winnings_id);
6+
CREATE INDEX idx_payment_winnings_installment ON payment USING btree (winnings_id, installment_number);
7+
CREATE INDEX idx_payment_winnings_installment1_status ON payment USING btree (winnings_id, payment_status) WHERE (installment_number = 1);
8+
CREATE INDEX idx_winnings_category_created_at ON winnings USING btree (category, created_at DESC);
9+
CREATE INDEX idx_winnings_created_at ON winnings USING btree (created_at DESC);
10+
CREATE INDEX idx_winnings_external_id ON winnings USING btree (external_id) WHERE (external_id IS NOT NULL);
11+
CREATE INDEX idx_winnings_winner_created_at ON winnings USING btree (winner_id, created_at DESC);
12+
CREATE INDEX idx_winnings_winner_id_only ON winnings USING btree (winner_id) INCLUDE (winning_id);

prisma/schema.prisma

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ model payment {
5959
payment_method payment_method? @relation(fields: [payment_method_id], references: [payment_method_id], onDelete: NoAction, onUpdate: NoAction)
6060
winnings winnings @relation(fields: [winnings_id], references: [winning_id], onDelete: NoAction, onUpdate: NoAction)
6161
payment_release_associations payment_release_associations[]
62+
63+
@@index([installment_number], map: "idx_payment_installment_number")
64+
@@index([installment_number, payment_status, winnings_id, version(sort: Desc)], map: "idx_payment_installment_status_version")
65+
@@index([payment_status, winnings_id], map: "idx_payment_status_winnings")
66+
@@index([winnings_id, installment_number, payment_status], map: "idx_payment_win_inst_status")
67+
@@index([winnings_id], map: "idx_payment_winnings_id")
68+
@@index([winnings_id, installment_number], map: "idx_payment_winnings_installment")
6269
}
6370

6471
model payment_method {
@@ -167,6 +174,11 @@ model winnings {
167174
payment payment[]
168175
reward reward[]
169176
origin origin? @relation(fields: [origin_id], references: [origin_id], onDelete: NoAction, onUpdate: NoAction)
177+
178+
@@index([category, created_at(sort: Desc)], map: "idx_winnings_category_created_at")
179+
@@index([created_at(sort: Desc)], map: "idx_winnings_created_at")
180+
@@index([winner_id, created_at(sort: Desc)], map: "idx_winnings_winner_created_at")
181+
@@index([winner_id, winning_id], map: "idx_winnings_winner_id_only")
170182
}
171183

172184
model trolley_recipient {

0 commit comments

Comments
 (0)