typeorm Составной первичный (Primary Key)

Как минимум, можно использовать отдельный составной уникальный индекс.

Или чтобы это действитлеьно был составной ключ, можно использовать @PrimaryColumn() на каждой колонке, которая должна входить в первичый ключ, даже в комбинации с другими декораторами, например:



@Entity()
export class Scenario {
  @PrimaryColumn({ length: 100 })
  public user_id: string;

  @PrimaryColumn()
  @ManyToOne(() => ScenarioDetails, (scenarioDetail: ScenarioDetails) => scenarioDetail.scenario_id)
  public scenario_id: string;

  @Column({ type: 'enum', enum: ScenariosPermission, nullable: false })
  public permission: string;

  @Column({ length: 200 })
  public basin: string;

  @Column({ length: 200 })
  public scenario_name: string;
}

Key Words for FKN + antitotal forum (CS VSU):