Как определить многостолбцовый индекс для столбцов, один из которых является типом массива в Postgres Sequelize? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть таблица, в которой есть, скажем, столбец местоположения и столбец userIds. Я понимаю, что это не идеальная структура, просто использую это в качестве примера. Как использовать здесь gin, чтобы получить группы в определенном месте для определенного пользователя?

Group.init(
  {
    id: { type: UUID, defaultValue: UUIDV4, primaryKey: true },
    locationId: { type: UUID, allowNull: false },
    userIds: { type: ARRAY(JSONB), allowNull: false, defaultValue: [] },
    description: { type: new DataTypes.TEXT(), allowNull: true },
  },
  {
    sequelize,
    tableName: 'Group',
    indexes: [
      {
        fields: ['locationId', 'userIds'],
        using: 'gin',
      },
    ],
  }
);
...