fix: read-after-write issues (#215)
* fix: read-after-write issues * fix: coderabbit comments * fix: clear cache on invite * fix: use primary after a read
This commit is contained in:
committed by
GitHub
parent
abacf66155
commit
f454449365
@@ -1,11 +1,15 @@
|
||||
import { createLogger } from '@openpanel/logger';
|
||||
import { readReplicas } from '@prisma/extension-read-replicas';
|
||||
import { type Organization, PrismaClient } from './generated/prisma/client';
|
||||
import {
|
||||
type Organization,
|
||||
Prisma,
|
||||
PrismaClient,
|
||||
} from './generated/prisma/client';
|
||||
import { logger } from './logger';
|
||||
import { sessionConsistency } from './session-consistency';
|
||||
|
||||
export * from './generated/prisma/client';
|
||||
|
||||
const logger = createLogger({ name: 'db' });
|
||||
|
||||
const isWillBeCanceled = (
|
||||
organization: Pick<
|
||||
Organization,
|
||||
@@ -30,11 +34,6 @@ const getPrismaClient = () => {
|
||||
const prisma = new PrismaClient({
|
||||
log: ['error'],
|
||||
})
|
||||
.$extends(
|
||||
readReplicas({
|
||||
url: process.env.DATABASE_URL_REPLICA ?? process.env.DATABASE_URL!,
|
||||
}),
|
||||
)
|
||||
.$extends({
|
||||
query: {
|
||||
async $allOperations({ operation, model, args, query }) {
|
||||
@@ -53,6 +52,8 @@ const getPrismaClient = () => {
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
.$extends(sessionConsistency())
|
||||
.$extends({
|
||||
result: {
|
||||
organization: {
|
||||
@@ -258,7 +259,12 @@ const getPrismaClient = () => {
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
})
|
||||
.$extends(
|
||||
readReplicas({
|
||||
url: process.env.DATABASE_URL_REPLICA ?? process.env.DATABASE_URL!,
|
||||
}),
|
||||
);
|
||||
|
||||
return prisma;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user