Я создаю таблицу с моделью sequelize-typescript:
@Table({tableName: "company_licenses", updatedAt: false})
export class CompanyLicense extends Model<CompanyLicense> {
@CreatedAt
create_time: Date;
@PrimaryKey
@Column({defaultValue: '1970-01-01 01:00:00'})
delete_time: Date;
@ForeignKey(() => Company)
@PrimaryKey
@Column
company_id: number;
@ForeignKey(() => License)
@PrimaryKey
@Column
license_id: number;
}
Я ожидаю создать таблицу только с одним первичным ключом. PRIMARY KEY ("delete_time","company_id","license_id")
Но получены два ограничения в postgreSQL DB:
CREATE TABLE IF NOT EXISTS "company_licenses" ("delete_time" TIMESTAMP WITH TIME ZONE DEFAULT '1970-01-01 00:00:00.000 +00:00' , "company_id" INTEGER REFERENCES "companies" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "license_id" INTEGER REFERENCES "licenses" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "create_time" TIMESTAMP WITH TIME ZONE NOT NULL,
UNIQUE ("company_id", "license_id"),
PRIMARY KEY ("delete_time","company_id","license_id"));
Почему создается второй UNIQUE ключ («company_id», «license_id»)? Как удалить это УНИКАЛЬНОЕ ограничение?