node.js - 在NodeJS中如何通过相关的ORM库来实现MySQL的表继承关系?
大家讲道理
大家讲道理 2017-04-17 11:56:13
0
1
398

我在Quota上问过(How do I implement a MySQL inheritance relations with a Node.js database ORM (like sequelizejs)?),再这里重发一下,求有经验的各位指导下:

大体是这样的,最近在写个项目,做了下简单的表设计,其中的部分如下:

(其中三个表共享id,id即是外键)之所以想这么弄的原因是,这个项目的内容主体是project(不在上图中),而一个项目可以属于一个app也可以属于user,为了统一,我希望每个项目都有一个唯一全局的名称namespace/project_name,为了这个目的,我把appuser抽象出一个父类,也就是owner(或者直接换成namespace也可以),而且这样后续我通过这个唯一的项目名称查询的时候也不需要预先做判断这个namespace是应用还是用户。

但是在常见的这些 ORM 库中没有找到支持这么做的API,但是我又觉得这样得设计应该不是很少见,所以想知道大家一般是怎么处理的。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆 (1)
巴扎黑

实际上,你觉得这是「继承」关系,但本质上是「一对一单向映射」而已,所以只要用 Sequelize 的 hasOne 来建立联系即可:

App.hasOne Owner User.hasOne Owner app_or_user.getOwner().then (owner) -> console.log owner.name

另外难道不是应该去 StackOverflow 么,去 Quota 干嘛。

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!