Странное поведение модели sequelize-typescript (дополнительное ограничение UNIQUE) - PullRequest
0 голосов
/ 05 мая 2020

Я создаю таблицу с моделью 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»)? Как удалить это УНИКАЛЬНОЕ ограничение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...