Skip to content

Commit a43eca4

Browse files
authored
Add dateStart and dateEnd to primary key for memberOrganizations (#1150)
1 parent 02e382e commit a43eca4

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
ALTER TABLE "memberOrganizations" DROP CONSTRAINT "memberOrganizations_pkey";
2+
ALTER TABLE "memberOrganizations" DROP COLUMN "id";
3+
DROP INDEX "memberOrganizations_unique";
4+
5+
DELETE
6+
FROM "memberOrganizations"
7+
WHERE ctid NOT IN (
8+
SELECT MIN(ctid)
9+
FROM "memberOrganizations"
10+
GROUP BY "memberId", "organizationId"
11+
);
12+
13+
ALTER TABLE "memberOrganizations" ADD PRIMARY KEY ("memberId", "organizationId");
14+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ALTER TABLE "memberOrganizations" DROP CONSTRAINT "memberOrganizations_pkey";
2+
ALTER TABLE "memberOrganizations" ADD COLUMN "id" UUID NOT NULL DEFAULT uuid_generate_v4();
3+
ALTER TABLE "memberOrganizations" ADD PRIMARY KEY (id);
4+
ALTER TABLE "memberOrganizations" ADD UNIQUE ("memberId", "organizationId", "dateStart", "dateEnd");
5+

backend/src/database/repositories/memberRepository.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3245,8 +3245,7 @@ class MemberRepository {
32453245
const query = `
32463246
INSERT INTO "memberOrganizations" ("memberId", "organizationId", "createdAt", "updatedAt", "title", "dateStart", "dateEnd")
32473247
VALUES (:memberId, :organizationId, NOW(), NOW(), :title, :dateStart, :dateEnd)
3248-
ON CONFLICT ("memberId", "organizationId") DO UPDATE
3249-
SET "title" = :title, "dateStart" = :dateStart, "dateEnd" = :dateEnd
3248+
ON CONFLICT ("memberId", "organizationId", "dateStart", "dateEnd") DO NOTHING
32503249
`
32513250

32523251
await seq.query(query, {

0 commit comments

Comments
 (0)