fix: 修复 Prisma seed 部署入口

This commit is contained in:
湛兮
2026-06-11 22:36:45 +08:00
parent d0375257ce
commit 62a2f933d3
2 changed files with 9 additions and 15 deletions
+2 -2
View File
@@ -13,10 +13,10 @@
"build": "nest build", "build": "nest build",
"check": "pnpm lint && pnpm test && pnpm build", "check": "pnpm lint && pnpm test && pnpm build",
"format": "prettier --write \"src/**/*.ts\" \"prisma/**/*.prisma\" \"*.md\"", "format": "prettier --write \"src/**/*.ts\" \"prisma/**/*.prisma\" \"*.md\"",
"lint": "eslint \"{src,prisma}/**/*.{ts,js}\"", "lint": "eslint \"{src,prisma}/**/*.{ts,js}\" --ignore-pattern prisma/seed.js",
"prisma:generate": "prisma generate", "prisma:generate": "prisma generate",
"prisma:migrate:dev": "prisma migrate dev", "prisma:migrate:dev": "prisma migrate dev",
"prisma:seed": "node dist/prisma/seed.js", "prisma:seed": "node prisma/seed.js",
"prisma:studio": "prisma studio", "prisma:studio": "prisma studio",
"start": "nest start", "start": "nest start",
"start:dev": "nest start --watch", "start:dev": "nest start --watch",
+7 -13
View File
@@ -1,13 +1,12 @@
/** /**
* 将代码内的纳管项目清单同步到数据库保持项目环境和 Jenkins Job 可重复初始化 * 将代码内的纳管项目清单同步到数据库保持项目环境和 Jenkins Job 可重复初始化
*/ */
import { EnvironmentKind, PrismaClient, ProjectStatus } from '@prisma/client'; const { EnvironmentKind, PrismaClient, ProjectStatus } = require('@prisma/client');
import { seedProjects } from '../src/projects/project.seed'; const { seedProjects } = require('../dist/projects/project.seed');
import type { ProjectEnvironmentSummary } from '../src/projects/project.types';
const prisma = new PrismaClient(); const prisma = new PrismaClient();
async function main(): Promise<void> { async function main() {
for (const project of seedProjects) { for (const project of seedProjects) {
const projectRecord = await prisma.project.upsert({ const projectRecord = await prisma.project.upsert({
where: { where: {
@@ -47,10 +46,7 @@ async function main(): Promise<void> {
} }
} }
async function upsertEnvironment( async function upsertEnvironment(projectId, environment) {
projectId: string,
environment: ProjectEnvironmentSummary,
): Promise<void> {
const environmentName = toEnvironmentKind(environment.name); const environmentName = toEnvironmentKind(environment.name);
const environmentRecord = await prisma.environment.upsert({ const environmentRecord = await prisma.environment.upsert({
where: { where: {
@@ -95,19 +91,17 @@ async function upsertEnvironment(
}); });
} }
function toEnvironmentKind( function toEnvironmentKind(environment) {
environment: ProjectEnvironmentSummary['name'],
): EnvironmentKind {
return environment === 'test' return environment === 'test'
? EnvironmentKind.TEST ? EnvironmentKind.TEST
: EnvironmentKind.PRODUCTION; : EnvironmentKind.PRODUCTION;
} }
void main() main()
.then(async () => { .then(async () => {
await prisma.$disconnect(); await prisma.$disconnect();
}) })
.catch(async (error: unknown) => { .catch(async (error) => {
console.error(error); console.error(error);
await prisma.$disconnect(); await prisma.$disconnect();
process.exit(1); process.exit(1);