sequelize-синхронизация машинописного текста ({force: true}) попытка создать ограничения перед таблицами

#node.js #typescript #postgresql #sequelize.js

#node.js #typescript #postgresql #sequelize.js

Вопрос:

Я использую sequelize-typescript для своего проекта. Чтобы ускорить локальную разработку, я обычно использовал опцию синхронизации в своей локальной среде. Я заметил, что sequelize-typescript пытается создать ограничения перед созданием всех таблиц. Я делаю что-то не так или это зародыш продолжения?

Некоторый пример кода:

Групповая модель:

 @Table
export default class Group extends Model<Group> {
  @Column({
    type: DataType.UUID,
    defaultValue: DataType.UUIDV4,
    primaryKey: true,
  })
  id: string;

  @Column(DataType.STRING())
  name: string;

  // Associations
  @HasMany(() => Transaction, { onDelete: 'SET NULL' })
  transactions: Transaction[];

  @ForeignKey(() => GroupCategory)
  @Column
  groupCategoryId: string;

  @BelongsTo(() => GroupCategory, { onDelete: 'SET NULL' })
  groupCategory: GroupCategory;

  @BelongsToMany(() => User, () => UserGroup, { onDelete: 'SET NULL' })
  users: User[];
}
  

Модель групповой категории:

 @Table
export default class GroupCategory extends Model<GroupCategory> {
  @PrimaryKey
  @Column({
    type: DataType.UUID,
    defaultValue: DataType.UUIDV4,
  })
  id: string;

  @Column(DataType.STRING)
  name: string;

  @Column(DataType.STRING(1500))
  pictureSRC: string;

  @Column(DataType.STRING)
  backgrundColor: string;

  @Column(DataType.STRING(3))
  icon: string;

  @HasMany(() => Group, { onDelete: 'SET NULL' })
  groups: Group[];
}
  

Результирующая ошибка:

 Executing (default): CREATE TABLE IF NOT EXISTS "Groups" ("id" UUID , "name" VARCHAR(255), "groupCategoryId" VARCHAR(255) REFERENCES "GroupCategories" ("id") ON DELETE SET NULL ON UPDATE CASCADE, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, PRIMARY KEY ("id"));
(node:82264) UnhandledPromiseRejectionWarning: SequelizeDatabaseError: foreign key constraint "Groups_groupCategoryId_fkey" cannot be implemented