Скажем, у вас есть объект 'post' в типичном сценарии блога. Сообщение в блоге может иметь различные статусы, такие как «черновик», «опубликован», «утвержден» и т. Д. Каковы наилучшие способы справиться с этим, особенно в отношении хранения этих данных в базе данных осмысленным образом, а также осмысленным образом в коде.
Обычно я видел их в виде целого числа, связанного со строкой в базе данных (в этом примере таблицы 'posts'). Иногда в базе данных есть таблица поиска для объяснения этих статусов (то есть таблица состояния с id => 1 name => draft и т. Д.). Обычно я бы перевел их в перечисление на уровне доступа к данным, чтобы иметь более содержательное представление кода и избежать «магических чисел».
Однако в этом решении разработчик обновляет два разных места (базу данных и код), чтобы добавить или изменить тип статуса.
Какой лучший способ сделать это? Кажется, это проблема, с которой я часто сталкивался, но я никогда не видел хорошего способа справиться с этим.