База данных, таблица «Статус ожидания»

1

У меня уже построенный проект (который использует Spring и JPA). Одна из возможностей позволяет пользователю добавлять место в базу данных (каждое место может быть связано с количеством тегов, их также необходимо одобрить администратором).

Я хотел бы настроить "ожидающую" систему состояний, когда пользователь добавляет новое место, это место добавляется в базу данных (postgreSQL в моем случае), но в "ожидающем состоянии" и на самом деле не рассматривается как последнее место, (тогда администратор должен будет одобрить это место, чтобы сделать его видимым для другого пользователя)

Есть ли какой-либо механизм, который Spring или JPA предлагает для его архивации? Или единственный способ - переделать таблицу и изменить все запросы? (И если да, то какой будет хороший дизайн?, добавив дополнительный столбец (состояние)? Или разделив таблицы и т.д.?

ps: так на данный момент мой дизайн выглядит так:

место таблицы: id_place/name/etc...

table tag: id_tag /name/etc..

table place_tag (который связывает каждый тег с его местом) id/id_place/id_taf Спасибо!

  • 0
    Таким образом, вы хотите добавить строку данных и сделать ее активной только после проверки администратором?
  • 0
    точно, учитывая, что мой проект довольно большой. Каков наилучший способ архивировать это? Имея новый дизайн базы данных (это будет означать большой рефакторинг, так как все существующие запросы будут разбиты) Или иметь дублирующуюся таблицу "pending_place, pending_tag и pending_place_tag)?
Показать ещё 6 комментариев
Теги:
spring
jpa

1 ответ

0

В соответствии с комментариями и обсуждением наиболее распространенным и эффективным способом я увидел, что это реализовано и сделано, включив дополнительный столбец в существующие таблицы, например, "проверенный".

Некоторые преимущества включают:

  • минимальные изменения в базе данных

  • эффективность запросов не падает

  • бизнес-логика и функциональный код не меняются кардинально (поскольку вы используете существующие методы и т.д.),

И снова это изменится на основе мнения, опыта, сложности системы и т.д.

Надеюсь, поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню