- 新增 datasource.ts 支持 mysql/sqlite 双模式 - 新增 migration 脚本: generate/create/run/revert/show - 生成 InitialSchema migration (35 张表全量建表)
22 lines
919 B
TypeScript
22 lines
919 B
TypeScript
import { DataSource } from 'typeorm';
|
|
import { config } from 'dotenv';
|
|
import { join } from 'path';
|
|
|
|
// TypeORM CLI runs from apps/server/
|
|
const root = process.cwd();
|
|
config({ path: join(root, '.env') });
|
|
|
|
const dbType = process.env.DB_TYPE || 'sqlite';
|
|
|
|
export default new DataSource({
|
|
type: dbType === 'mysql' ? 'mysql' : 'better-sqlite3',
|
|
host: dbType === 'mysql' ? (process.env.DB_HOST || 'localhost') : undefined,
|
|
port: dbType === 'mysql' ? (Number(process.env.DB_PORT) || 3306) : undefined,
|
|
username: dbType === 'mysql' ? (process.env.DB_USERNAME || 'root') : undefined,
|
|
password: dbType === 'mysql' ? (process.env.DB_PASSWORD || '') : undefined,
|
|
database: process.env.DB_DATABASE || (dbType === 'mysql' ? 'dorm_billing' : 'dorm_billing.db'),
|
|
charset: dbType === 'mysql' ? 'utf8mb4' : undefined,
|
|
entities: [join(root, 'src/**/*.entity.ts')],
|
|
migrations: [join(root, 'src/migrations/*.ts')],
|
|
});
|