import 'dotenv/config';
import { DataSource } from 'typeorm';

const host = process.env.DB_HOST || '127.0.0.1';
const port = parseInt(process.env.DB_PORT || '3306', 10);
const username = process.env.DB_USER || 'root';
const password = process.env.DB_PASS || '';
const database = process.env.DB_NAME || 'mteer_db';

export const AppDataSource = new DataSource({
  type: 'mysql',
  host,
  port,
  username,
  password,
  database,
  synchronize: false,
  logging: false,
  entities: [__dirname + '/../**/*.entity{.ts,.js}'],
  migrations: [__dirname + '/../../migrations/*.sql'],
  extra: {
    // See app.module.ts: the remote database needs keep-alive so idle pooled
    // sockets are not silently dropped in transit.
    enableKeepAlive: true,
    keepAliveInitialDelay: 10000,
  },
});

export default AppDataSource;
