在我的数据库中存储文章状态的最佳方法?

时间:2018-04-03 05:10:59

标签: database database-design

现在我的文章可以有statestate目前可以是:

  • published
  • draft

我试图决定存储数据的最佳方式,并希望就这两种方法提供反馈。

版本1 (强调语义):

例如state,枚举为['draft', 'published']

第2版(强调表现):

ex:published,带有布尔值。

第二个版本干掉了我的客户端,因为我将状态保存在常量变量中时,第一个版本的逻辑变得混乱。

export const ARTICLE_STATE_DRAFT = 1;
export const ARTICLE_STATE_PUBLISHED = 2;

export const ARTICLE_STATE_TYPES = {
  [ARTICLE_STATE_DRAFT]: 'draft',
  [ARTICLE_STATE_PUBLISHED]: 'published'
};

什么是更好的模式?为什么?

1 个答案:

答案 0 :(得分:0)

我的建议将与

一起使用

将状态值存储在单独的表中,并将父表的引用作为外键。

这样做的好处是你可以在"current_state"表中使用一列(比如articles)来处理状态。

如果您在文章中引入了新的状态,则可以使用此设计处理此问题,而在其他方法中则不会这样,因为您需要添加其他列。

希望这有帮助