/** * TypeORM CLI 专用数据源配置 * * 直接复用 config 模块的 pgsql 配置(含校验), * 专供 TypeORM CLI(Node.js / tsx)使用。 * * 使用方式: * npx tsx node_modules/.bin/typeorm migration:run -d db/data-source-cli.ts * npx tsx node_modules/.bin/typeorm migration:revert -d db/data-source-cli.ts * npx tsx node_modules/.bin/typeorm migration:show -d db/data-source-cli.ts */ import { DataSource } from "typeorm"; import { fileURLToPath } from "node:url"; import { dirname } from "node:path"; import { pgsql } from "../config"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const AppDataSource = new DataSource({ type: "postgres", host: pgsql.host, port: pgsql.port, database: pgsql.database, username: pgsql.user, password: pgsql.password, entities: [__dirname + "/entities/*.{ts,js}"], synchronize: false, migrations: [__dirname + "/migrations/*.{ts,js}"], extra: { max: pgsql.max, idleTimeoutMillis: pgsql.idleTimeoutMillis, connectionTimeoutMillis: pgsql.connectionTimeoutMillis, }, logging: ["error", "warn"], }); export default AppDataSource;