chore: configure angular and postgres foundation
This commit is contained in:
18
apps/api/src/config/database.config.spec.ts
Normal file
18
apps/api/src/config/database.config.spec.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { createDatabaseConfig } from './database.config';
|
||||
|
||||
describe('createDatabaseConfig', () => {
|
||||
it('uses postgres and permanently disables synchronization', () => {
|
||||
expect(
|
||||
createDatabaseConfig('postgresql://test:test@localhost/test'),
|
||||
).toMatchObject({
|
||||
type: 'postgres',
|
||||
url: 'postgresql://test:test@localhost/test',
|
||||
synchronize: false,
|
||||
autoLoadEntities: true,
|
||||
});
|
||||
});
|
||||
|
||||
it('rejects an empty database URL', () => {
|
||||
expect(() => createDatabaseConfig('')).toThrow('DATABASE_URL is required');
|
||||
});
|
||||
});
|
||||
16
apps/api/src/config/database.config.ts
Normal file
16
apps/api/src/config/database.config.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
|
||||
|
||||
export function createDatabaseConfig(
|
||||
databaseUrl: string,
|
||||
): TypeOrmModuleOptions {
|
||||
if (!databaseUrl.trim()) {
|
||||
throw new Error('DATABASE_URL is required');
|
||||
}
|
||||
|
||||
return {
|
||||
type: 'postgres',
|
||||
url: databaseUrl,
|
||||
autoLoadEntities: true,
|
||||
synchronize: false,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user