Skip to content

Commit f962351

Browse files
fix(cli): fix race condition during push db (#2491)
Because a hardcoded prefix creating the temporal schema file `~schema.prisma`, multiple processes running `push db` will suffer a race condition. Change the hardcoded prefix with a sort of UUID.
1 parent 09b96e4 commit f962351

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

packages/cli/src/actions/action-utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { type Model, type Plugin, isDataSource, type LiteralExpr } from '@zensta
44
import { type CliPlugin, PrismaSchemaGenerator } from '@zenstackhq/sdk';
55
import colors from 'colors';
66
import { createJiti } from 'jiti';
7+
import crypto from 'node:crypto';
78
import fs from 'node:fs';
89
import { createRequire } from 'node:module';
910
import path from 'node:path';
@@ -95,7 +96,7 @@ export async function generateTempPrismaSchema(zmodelPath: string, folder?: stri
9596
if (!folder) {
9697
folder = path.dirname(zmodelPath);
9798
}
98-
const prismaSchemaFile = path.resolve(folder, '~schema.prisma');
99+
const prismaSchemaFile = path.resolve(folder, `~schema.${crypto.randomUUID()}.prisma`);
99100
fs.writeFileSync(prismaSchemaFile, prismaSchema);
100101
return prismaSchemaFile;
101102
}

0 commit comments

Comments
 (0)