Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. import path from 'path';
  2. import { createConnection, getConnection } from 'typeorm';
  3.  
  4. const ROOT_PATH = path.join(__dirname, '..', '..');
  5.  
  6. export interface ITypeORMModuleOptions {
  7. synchronize?: boolean;
  8. }
  9.  
  10. const setupDB = async () => {
  11. beforeAll(async () => {
  12. await initializeDB();
  13.  
  14. global.console.log(getConnection().isConnected);
  15. });
  16.  
  17. afterAll(async () => {
  18. await getConnection().close();
  19. });
  20. };
  21.  
  22. const initializeDB = async (options: ITypeORMModuleOptions = {}) => {
  23. const synchronize = options.synchronize !== false;
  24. return createConnection({
  25. database: process.env.DB_NAME,
  26. dropSchema: synchronize,
  27. entities: [`${ROOT_PATH}/**/*.entity{.ts,.js}`],
  28. host: process.env.DB_HOST,
  29. logger: 'advanced-console',
  30. logging: process.env.DB_DEBUG === 'true' ? ['query', 'error'] : [],
  31. name: 'default',
  32. password: process.env.DB_PWD,
  33. port: Number(process.env.DB_PORT),
  34. synchronize,
  35. type: 'postgres',
  36. username: process.env.DB_USER,
  37. });
  38. };
  39.  
  40. export { setupDB };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement