diff --git a/node_api/src/mikro-orm.config.ts b/node_api/src/mikro-orm.config.ts index dc6644d..1befbc9 100644 --- a/node_api/src/mikro-orm.config.ts +++ b/node_api/src/mikro-orm.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from '@mikro-orm/mysql'; +import { type EntityMetadata, type Platform, defineConfig } from '@mikro-orm/mysql'; import { EntityGenerator } from '@mikro-orm/entity-generator'; import dotenv from 'dotenv'; import path from 'path'; @@ -15,4 +15,18 @@ export default defineConfig({ charset: 'utf8mb4', multipleStatements: true, extensions: [EntityGenerator], + // 生成实体时的配置 + entityGenerator: { + // 在元数据处理阶段将 bigint 转换为 number + onProcessedMetadata: (metadata: EntityMetadata[], _platform: Platform) => { + metadata.forEach((meta) => { + Object.values(meta.properties).forEach((prop) => { + // 将 bigint 类型转换为 number,但保留 columnTypes 为 bigint + if (prop.columnTypes?.[0] === 'bigint' || prop.type === 'bigint') { + prop.type = 'number'; + } + }); + }); + }, + }, });