| 1234567891011121314151617181920212223242526 |
- import "reflect-metadata"
- import { DataSource } from "typeorm"
- import process from 'node:process'
- import * as entities from './entities'
- /**
- * TypeORM 数据源配置
- *
- * 使用类导入方式加载实体,让 Vite SSR 正确处理 TypeScript 编译
- * 实体内部已使用字符串语法解决循环依赖问题
- */
- export const AppDataSource = new DataSource({
- type: "postgres",
- host: process.env.DB_HOST || "localhost",
- port: parseInt(process.env.DB_PORT || "5432"),
- username: process.env.DB_USERNAME || "postgres",
- password: process.env.DB_PASSWORD || "",
- database: process.env.DB_DATABASE || "postgres",
- // 使用类导入方式,Vite SSR 会处理 TypeScript 编译
- entities: Object.values(entities),
- migrations: [
- "./migrations/*[0-9].ts", // 只匹配数字时间戳开头的迁移文件,排除 index.ts
- ],
- synchronize: false, // 迁移时必须关闭自动同步
- logging: process.env.DB_LOGGING === "true",
- })
|