我正在研究一个需要从SQL Server视图定义模型的项目。是否有可能根据不使用表联接并降低复杂性而从视图定义模型。
答案 0 :(得分:0)
是的,您可以将Sequelize模型指向视图,而不是至少针对SELECT语句(例如model.findAll()
)使用表。我怀疑model.sync()
是否可以对视图起作用,但是没有经过测试。 IIRC,某些数据库允许在有限情况下针对视图执行INSERT,UPDATE或DELETE),在这些有限情况下,您可能可以使用model.create()
,model.update()
或{{1} }。
答案 1 :(得分:0)
sequelize.sync()假设您只想使用表来创建模型,并在实际需要视图时尝试创建表...如以下示例所示 Error message when the view already exists 在OBJECT_ID('V_Funds','U')'U'中表示表格。(参见图片)
因此,请忘记使用sequelize.sync(),而只需使用Sequelize-Auto(根据上面的评论)。然后只需运行一个简单的.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”