【发布时间】:2023-03-23 13:03:02
【问题描述】:
我想在我正在构建的网络应用程序中使用 sequelize 作为我的 ORM。该应用程序将基于 NodeJS - Express 构建和 MySQL 作为其关系数据库。我在文档或网络上的任何地方都没有找到的是,如何在 sequelize 模型中声明我的 MySQL 数据库中存在的“视图”......
是手动构造查询SQL的唯一方法吗?谢谢
【问题讨论】:
-
您是否找到任何解决方案来创建具有 sequelize 代码优先样式的视图?我也有同样的需求。
-
恐怕我还没有......我现在在代码中使用的唯一解决方法是将视图声明为具有 sequelize 定义的普通表。唯一需要注意的是主键。您可以声明一个复合键以确保每一行都是唯一的。
-
无赖。好吧,感谢您的回复,我相信我现在正在做同样的事情——通过数据库接口创建视图,然后为它单独创建一个 sequelize 定义,最后不同步该定义,所以 sequelize 不会尝试做一张桌子。它可以工作,但是当我使用同步创建其他数据库对象时感觉很奇怪。我想,墨菲定律#2。
-
是的,就是这样......我相信这是一个重大的退步,包括复合主键支持而不支持复合外键......我希望他们有时间实现它有时。这是一个非常想要的功能..无论如何,其余的都是非常好的工作!
-
@dvlsg 您在创建模型定义时指定的任何属性?我已经指定了架构,但它似乎没有从视图中获取数据。
标签: mysql node.js model views sequelize.js