Как не изменять created_at при PUT запросе (express / postgres) если оно по органичению имеет default

Пишу небольшое TODO на express, для работы с БД использую pg

У меня есть point с методом put

/task/:id

Cхема таблицы для задачи выглядит так:

CREATE TABLE task
(
    id          UUID PRIMARY KEY     DEFAULT gen_random_uuid(),
    name        VARCHAR(30) NOT NULL,
    description TEXT,
    state       task_state  NOT NULL DEFAULT 'backlog',
    user_id     UUID REFERENCES "user" (id),
    created_at  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at  TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Мне нужно обновить все поля, ЗА исключением поля created_at, но поскольку оно имеет органичение default, я не могу продумать хорошую логику, чтобы оставлять created_at изначальным, а изменять только остальные поля.

Почитал про триггеры и явно вытаскиать created_at и вставлять еще раз потом его же при обновлении, но не уверен, что это хорошие решения.

Какие есть хорошие пути решение / практики при реализации такой задачи?


Ответы (0 шт):