import 'reflect-metadata'; import { DataSource } from 'typeorm'; import { ConversationSessionEntity } from './modules/session/entities/conversation-session.entity'; import { ConversationMessageEntity } from './modules/session/entities/conversation-message.entity'; /** * TypeORM DataSource for CLI migrations. * Uses env vars: DATABASE_HOST, DATABASE_PORT, DATABASE_USER, DATABASE_PASSWORD, DATABASE_NAME */ export const AppDataSource = new DataSource({ type: 'postgres', host: process.env.DATABASE_HOST ?? 'localhost', port: parseInt(process.env.DATABASE_PORT ?? '26397', 10), username: process.env.DATABASE_USER ?? 'lilith', password: process.env.DATABASE_PASSWORD ?? 'lilith', database: process.env.DATABASE_NAME ?? 'companion', entities: [ConversationSessionEntity, ConversationMessageEntity], migrations: ['src/migrations/*.ts'], synchronize: false, logging: process.env.NODE_ENV !== 'production', }); export default AppDataSource;