24 lines
962 B
TypeScript
24 lines
962 B
TypeScript
|
|
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;
|