import { Column, Entity, PrimaryColumn } from "typeorm";

// Lock por tenant para que dos migraciones no corran en simultaneo contra la
// misma base — un doble clic alcanza para corromper un esquema a mitad de
// aplicar. expiraEn evita que un proceso muerto deje el lock trabado para
// siempre.
@Entity("tenant_migration_locks")
export class TenantMigrationLock {
  @PrimaryColumn({ name: "tenant_id" })
  tenantId: number;

  @Column({ name: "migration_job_id" })
  migrationJobId: number;

  @Column({ name: "expira_en", type: "datetime" })
  expiraEn: Date;
}
