import { config } from "dotenv";
import { join } from "path";
import { DataSource } from "typeorm";

// CLI config para migraciones de UN tenant a la vez (npm run migration:run).
// No es el plano de control (ver control-plane-typeorm.config.ts) — es el
// escape-hatch manual mientras el runner del panel no existe todavia.
config({
  path: [join(process.cwd(), ".env"), join(process.cwd(), "..", ".env")],
});

export default new DataSource({
  type: "mysql",
  host: process.env.TENANT_CLI_DB_HOST,
  port: parseInt(process.env.TENANT_CLI_DB_PORT || "3306", 10),
  username: process.env.TENANT_CLI_DB_USERNAME,
  password: process.env.TENANT_CLI_DB_PASSWORD,
  database: process.env.TENANT_CLI_DB_DATABASE,
  // Excluye control-plane/entities — esas nunca son parte de un tenant.
  entities: [join(__dirname, "..", "!(control-plane)", "**", "*.entity{.ts,.js}")],
  migrations: [join(__dirname, "..", "migrations", "*{.ts,.js}")],
  synchronize: false,
});
