22 lines
575 B
TypeScript
22 lines
575 B
TypeScript
import { configAppDataSource } from '@/lib/db/data-source';
|
|
import { PostgreSqlContainer } from '@testcontainers/postgresql';
|
|
import 'reflect-metadata';
|
|
|
|
const runMigrations = async (url: string) => {
|
|
const dataSource = configAppDataSource(url);
|
|
|
|
if (!dataSource.isInitialized) {
|
|
await dataSource.initialize();
|
|
}
|
|
|
|
await dataSource.runMigrations();
|
|
};
|
|
|
|
export const startTestDB = async () => {
|
|
const container = await new PostgreSqlContainer('postgres:16').start();
|
|
|
|
await runMigrations(container.getConnectionUri());
|
|
|
|
return container;
|
|
};
|