Как не изменять 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 и вставлять еще раз потом его же при обновлении, но не уверен, что это хорошие решения.
Какие есть хорошие пути решение / практики при реализации такой задачи?