pro-dev
@pro-dev

UUID или Alias в качестве ID?

Всем привет. Есть небольшое непонимание как лучше поступить в формированием ID. Объясню на простом примере, чтобы было понятно.

Есть модуль Блог. У него есть посты. Каждый пост имеет категорию.

Вначале категорий было не много и решили эти категории сделать константами:
const CATEGORY_BOOK = “book”;
const CATEGORY_EDUCATION = “education”;

Постепенно категории начинают увеличиться и способ добавления категорий через код уже не устраивает. Решение — вынести добавление категорий через базу данных.

Но тут есть небольшая проблема. В качестве ID, в проекте, используется генерируемый UUID.

1. Если перенести категории из кода в базу данных и использовать UUID в качестве ID, тогда нам придётся создать такую структуру:
id(uuid), alias(из константы), title.

В таком случае категории в постах имеют ссылку не по ID, а по alias. ID по сути и не нужен. Либо нужно заменить в постах alias на вновь сгенерированный ID. Как лучше?

2. Использовать в качестве ID alias категорий из констант. И тогда у нас получается такая структура без UUID:
id(из константы), title

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

Спасибо за помощь!
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Второй вариант не имеет никаких проблем если управление справочником идёт контролируемо и отсутствуют операции удаления
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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