Как реализовать порядковый номер записей в postgress?

Рейтинг: 0Ответов: 0Опубликовано: 14.07.2023

Имеется сервер на nest js, база данных postgress и ORM sequelize, но данный вопрос будет справедлив идля других сочетаний БД и ORM. Необходимо присваивать порядковый номер записям для последующей сортировки на стороне клиента, причем на стороне клиента этот порядкровый номер можно менять посредством перетаскиваня карточек (Drag and Drop). Порассуждав над механикой я присвоил каждой записи свойство order, которое автоматически инкрементируется при создании записи

  @Column({
        type: DataType.INTEGER,
        unique: true,
        autoIncrement: true
    })
    order: number

И даже написал метод меняющий порядковый номер двух записей, берем одну карточку перетаскиваем, на сервер улетаю id карточки которую тянули и id карточки куда бросили, соответсветнно меняем order этих карточек. И тут возникает проблема, например если мы перетаскиваем последнюю карточку в самое начало, они меняются местми, а хочется что бы последняя карточка отодвинула первую по порядку. Получается что при изменении порядка нужно менять значение order всем записям. Есть ли способ делать это автоматически по типу индесов элементов массива?

Ответы

Ответов пока нет.