Sfoglia il codice sorgente

refactor: remove MySQL service and related migrations from Prisma module and seed scripts

Dave 1 mese fa
parent
commit
aa88a0f471

+ 0 - 16
libs/db/src/prisma/mysql-prisma.service.ts

@@ -1,16 +0,0 @@
-import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
-import { PrismaClient as MysqlPrismaClient } from '@prisma/mysql/client';
-
-@Injectable()
-export class MysqlPrismaService
-  extends MysqlPrismaClient
-  implements OnModuleInit, OnModuleDestroy
-{
-  async onModuleInit() {
-    await this.$connect();
-  }
-
-  async onModuleDestroy() {
-    await this.$disconnect();
-  }
-}

+ 2 - 3
libs/db/src/prisma/prisma.module.ts

@@ -2,10 +2,9 @@ import { Module } from '@nestjs/common';
 
 import { MongoPrismaService } from './mongo-prisma.service';
 import { MongoStatsPrismaService } from './mongo-stats-prisma.service';
-import { MysqlPrismaService } from './mysql-prisma.service';
 
 @Module({
-  providers: [MysqlPrismaService, MongoPrismaService, MongoStatsPrismaService],
-  exports: [MysqlPrismaService, MongoPrismaService, MongoStatsPrismaService],
+  providers: [MongoPrismaService, MongoStatsPrismaService],
+  exports: [MongoPrismaService, MongoStatsPrismaService],
 })
 export class PrismaModule {}

+ 1 - 4
package.json

@@ -12,14 +12,11 @@
     "dev:stats": "dotenv -e .env.stats -- nest start box-stats-api --watch",
     "build:stats": "nest build box-stats-api",
     "start:stats": "node dist/apps/box-stats-api/src/main.js",
-    "prisma:migrate:mysql": "dotenv -e .env.mgnt -- prisma migrate dev --schema=prisma/mysql/schema",
     "prisma:migrate:box-admin": "dotenv -e .env.mgnt -- prisma db push --schema=prisma/mongo/schema",
     "prisma:migrate:box-stats": "dotenv -e .env.mgnt -- prisma db push --schema=prisma/mongo-stats/schema",
-    "prisma:reset:mysql": "dotenv -e .env.mgnt -- prisma migrate reset --schema=prisma/mysql/schema",
-    "prisma:generate:mysql": "dotenv -e .env.mgnt -- prisma generate --schema=prisma/mysql/schema",
     "prisma:generate:box-admin": "dotenv -e .env.mgnt -- prisma generate --schema=prisma/mongo/schema",
     "prisma:generate:box-stats": "dotenv -e .env.mgnt -- prisma generate --schema=prisma/mongo-stats/schema",
-    "prisma:generate": "pnpm prisma:generate:mysql && pnpm prisma:generate:box-admin && pnpm prisma:generate:box-stats",
+    "prisma:generate": "pnpm prisma:generate:box-admin && pnpm prisma:generate:box-stats",
     "prisma:seed:box-admin:admin": "dotenv -e .env.mgnt -- ts-node -P tsconfig.seed.json prisma/mongo/seed-admin.ts",
     "prisma:seed:box-admin": "dotenv -e .env.mgnt -- ts-node -P tsconfig.seed.json prisma/mongo/seed.ts",
     "prisma:seed:box-stats": "dotenv -e .env.mgnt -- ts-node -P tsconfig.seed.json prisma/mongo-stats/seed.ts",

+ 1 - 5
prisma/mongo/seed-admin.ts

@@ -948,7 +948,6 @@ async function seedUsers() {
 
   // Upsert role by unique name
   const roleCreateData: Prisma.SysRoleUncheckedCreateInput = {
-    id: 1,
     name: '管理员',
     remark: '管理员专用',
   };
@@ -961,7 +960,6 @@ async function seedUsers() {
 
   // Upsert admin user by unique username
   const adminUserCreateData: Prisma.SysUserUncheckedCreateInput = {
-    id: 1,
     username: 'admin',
     password: '$2b$12$iS0UJ1YqSal0N3uwin/OvOABUINAclcZGjHNyGFC7mlwRYTFjGQ26',
     remark: '默认拥有所有菜单权限,不需要配置角色',
@@ -980,7 +978,6 @@ async function seedUsers() {
   });
   if (!existingLink) {
     const userRoleCreateData: Prisma.SysUserRoleUncheckedCreateInput = {
-      id: 1,
       userId: adminUser.id,
       roleId: role.id,
     };
@@ -1000,7 +997,7 @@ async function seedUsers() {
 async function seedMenus() {
   console.log('📝 Seeding menus...');
 
-  const legacyIdToNewId = new Map<number, number>();
+  const legacyIdToNewId = new Map<number, string>();
   const inserted = new Set<number>();
 
   // Multi-pass insertion: insert records whose parent is either null or already inserted
@@ -1027,7 +1024,6 @@ async function seedMenus() {
 
       const permissions = getDefaultPermissions(seed.type);
       const menuCreateData: Prisma.SysMenuUncheckedCreateInput = {
-        id: seed.legacyId,
         parentId,
         title: seed.title,
         status: true,