Update 20240405000045_org-memberships-unique-constraint.ts

This commit is contained in:
Daniel Hougaard
2024-04-23 01:49:26 +02:00
parent 6874bff302
commit 44ff1abd74

View File

@@ -42,6 +42,7 @@ export async function up(knex: Knex): Promise<void> {
await knex.transaction(async (tx) => {
const duplicateRows = await tx(TableName.OrgMembership)
.select("userId", "orgId") // Select the userId and orgId so we can group by them
.whereNotNull("userId") // Ensure that the userId is not null
.count("* as cnt") // Count the number of rows for each userId and orgId, so we can make sure there are more than 1 row (a duplicate)
.groupBy("userId", "orgId")
.havingRaw("count(*) > ?", [1]); // Using havingRaw for direct SQL expressions
@@ -97,6 +98,8 @@ export async function up(knex: Knex): Promise<void> {
`Deleted ${numberOfRowsDeleted} duplicate organization memberships for ${row.userId} and ${row.orgId}`
);
}
throw new Error("This is a test error");
});
await knex.schema.alterTable(TableName.OrgMembership, (table) => {