fix: 修复 Prisma seed 部署入口
This commit is contained in:
+2
-2
@@ -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",
|
||||||
|
|||||||
@@ -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);
|
||||||
Reference in New Issue
Block a user