Я пытаюсь немного уменьшить технический долг, который у нас есть в кодовой базе. Это включает в себя необходимость писать один и тот же материал дважды каждый раз, когда в наш возможный список перечислений добавляется «действие», что может происходить не часто. Мы используем JOOQ 3.8 (открыт для обновления до последней версии, если это может помочь в нашей проблеме) для взаимодействия с базой данных в нашей базе данных mysql через Java.
У нас есть таблица "activity", в которой есть столбец "action_id". Это FK для таблицы с именем «action», в которой есть список возможных действий (например: «load», «submit», «extension»). Всякий раз, когда нам нужно добавить новое возможное действие, которое нам нужно:
1) Добавьте его в таблицу «action» с идентификатором и значением varchar
2) Добавьте его к нашему вручную поддерживаемому перечислению с тем же идентификатором и значением String
3) Добавьте его в наш метод сопоставления утилит, чтобы отобразить из POJO в запись JOOQ
Я исследовал эту тему, и это, кажется, немного спорным. Я видел это: сгенерировать класс enum из таблицы с JOOQ , что, похоже, и есть то, что я хочу сделать ... однако в решении, похоже, отсутствует бит, объясняющий, как "подключиться" к генерации логика. Этот вопрос был задан далее здесь: Как создать собственный генератор JOOQ? , но ответа нет.
Я открыт для того, чтобы кодовая база была источником правды об этом, но я не знаю предложенный способ сохранить это в БД. Строковое значение? Порядковый номер?
Я также открыт для того, чтобы база данных была источником правды об этих значениях, но бит создания пользовательских перечислений, кажется, является запретной темой?
Спасибо за помощь.