我正在用sequelize运行node.js服务。我有4种不同类型的用户,都共享一些相同的属性,如名称、密码等,并且都有特定于用户角色的属性。目前,我已经将所有4个模型定义为单独的模型。如果我想检索所有用户,这将提供代码重复和对数据库的多次调用。我怎样才能获得一种继承形式?我想实现这样的目标:
s3fp2yjn1#
为了实现上述erd,您可以简单地将每个角色模型关联起来 Instructor , Student , Administrator , Janitor 到主要 User 模型使用sequelize关联,定义起来非常灵活 foreignKeys , targetKeys 以及 sourceKey ,请看这里的sequelize文档的关联部分。我真的不确定这将是什么具体的实体关系类型(意思是 belongsTo , belongsToMany 等等)但根据你的图表 hasOne 关系。
Instructor
Student
Administrator
Janitor
User
foreignKeys
targetKeys
sourceKey
belongsTo
belongsToMany
hasOne
1条答案
按热度按时间s3fp2yjn1#
为了实现上述erd,您可以简单地将每个角色模型关联起来
Instructor
,Student
,Administrator
,Janitor
到主要User
模型使用sequelize关联,定义起来非常灵活foreignKeys
,targetKeys
以及sourceKey
,请看这里的sequelize文档的关联部分。我真的不确定这将是什么具体的实体关系类型(意思是
belongsTo
,belongsToMany
等等)但根据你的图表hasOne
关系。