@yohate

Как правильно смоделировать таблицу/таблицы заказов?

Сейчас есть таблица order_request. Это запрос на заказ, 5 из 15 полей меняться не могут.

Первый вопроса: есть специфические поля для каждого статуса. Например, если статус изменился на ожидает отплаты, то в колонку need_to_payed записывается определенный timestamp, а до этого статуса он имеет значение NULL, но я не уверен, что это правильно. Может стоит сделать отдельную таблицу, копию заказа, для каждого статуса, который своей логикой вносит/убирает новые поля, или для каждого статуса добавить отдельные таблицы со специфическими полями, которые будут связаны один к одному к таблице order_request?

Второй вопроса: нужно фиксировать каждое изменение таблицы. Нормально ли будет использовать таблицу типа:
create table order_update_log
(
	id serial
		constraint order_update_log_pk
			primary key,
       changed_by int not null
		constraint table_name_app_users_id_fk
			references app_users
				on update restrict on delete restrict,
	"from" json not null,
	"to" json not null,

	date timestamp default now() not null
);

В from и to вставлять JSON_BUILD_OBJECT таблицы заказов (СУБД - PostgreSQL 12).
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы