【发布时间】:2019-10-14 02:22:47
【问题描述】:
我正在处理一个需要从 SQL Server 视图定义模型的项目。是否可以根据不使用表连接并降低复杂性从视图中定义模型。
【问题讨论】:
-
你在github.com/sequelize/sequelize/issues上发过这个问题吗?
标签: node.js sql-server express sequelize.js
我正在处理一个需要从 SQL Server 视图定义模型的项目。是否可以根据不使用表连接并降低复杂性从视图中定义模型。
【问题讨论】:
标签: node.js sql-server express sequelize.js
是的,您可以将 Sequelize 模型指向视图,而不是至少用于 SELECT 语句的表(例如 model.findAll())我怀疑 model.sync() 会针对视图起作用,但尚未测试。 IIRC,一些数据库允许在有限的情况下对视图进行 INSERT、UPDATE 或 DELETE),在这些有限的情况下,您可能也可以使用 model.create()、model.update() 或 model.delete()。
【讨论】:
sequelize.sync() 创建模型假设您只想使用表并在您实际需要视图时尝试创建表...按照下面的示例 Error message when the view already exists 在 OBJECT_ID('V_Funds','U') 中,'U' 用于表。(参见图片)
所以忘记使用 sequelize.sync() 并使用 Sequelize-Auto(根据上面的 cmets)。然后只需运行一个简单的 .bat 或 .cmd 如下所示,一切都会自动为您完成
rem 重新创建各种模型
节点 node_modules\sequelize-auto\bin\sequelize-auto -h localhost -d XXXX -e mssql -u sa -x PASSWORD -c "./config.json" -o "./../server/src/models"
【讨论】: