// import { defineConfig, MariaDbDriver } from '@mikro-orm/mariadb'
import { Migrator } from '@mikro-orm/migrations'
import { defineConfig, MySqlDriver } from '@mikro-orm/mysql'
import { TsMorphMetadataProvider } from '@mikro-orm/reflection'

import serverConfig from './src/application/config'

export default defineConfig({
  extensions: [Migrator],
  metadataProvider: TsMorphMetadataProvider,
  entities: ['./src/entities/*.js'],
  entitiesTs: ['./src/entities/*.ts'],
  driver: MySqlDriver,
  host: serverConfig.DB_HOST,
  port: serverConfig.DB_PORT,
  user: serverConfig.DB_USER,
  password: serverConfig.DB_PASS,
  dbName: serverConfig.DB_NAME,
  debug: serverConfig.ENV !== 'production',
  // allowGlobalContext: true,
  driverOptions: {
    allowPublicKeyRetrieval: true
  },
  migrations: {
    path: './migrations',
    pathTs: './migrations',
  }
})