Sails.js sails.getDatastore不是一个函数 我现在正把我们的API从帆的V0.12升级到V1。这不是最简单的任务,但值得

Sails.js sails.getDatastore不是一个函数 我现在正把我们的API从帆的V0.12升级到V1。这不是最简单的任务,但值得,sails.js,waterline,Sails.js,Waterline,我目前遇到的问题是,将旧的“ModelName.query”调用转换为新的样式,即所谓的“sails.getDatastore”。很好,很好 除此之外,当尝试在config/bootstrap.js中执行此操作时,我经常会遇到错误“sails.getDatastore不是函数” 是的,我正在使用默认的sails hook orm,.sailsrc已显式打开;是的,我已经打开了globals 问题是函数在引导后才注册吗?因为这不是我们的选择;bootstrap正在提升之前验证我们的数据库模式(自定

我目前遇到的问题是,将旧的“ModelName.query”调用转换为新的样式,即所谓的“sails.getDatastore”。很好,很好

除此之外,当尝试在config/bootstrap.js中执行此操作时,我经常会遇到错误“sails.getDatastore不是函数”

是的,我正在使用默认的sails hook orm.sailsrc已显式打开;是的,我已经打开了globals


问题是函数在引导后才注册吗?因为这不是我们的选择;bootstrap正在提升之前验证我们的数据库模式(自定义代码,使用本机查询),因此,如果我们错过了数据库更新,我们的生产服务器将无法部署。它消除了大量的人为错误。

感谢您尝试1.0

我不确定您所说的“默认”sails钩子orm是什么意思——该钩子是作为每个sails 1.0项目的依赖项直接安装的——但我几乎可以保证您使用的版本是不正确的。我会:

npm cache clean
npm install sails-hook-orm@beta

在项目中,确保获得最新版本(当前为v2.0.0-21)。它将
getDatastore
添加到app对象。

谢谢!我快疯了!看起来,我实际上使用的是一个旧版本的水线。。。新的文件没有明确说明,这是一项较旧的回购协议;我以为它是为v1创建的。我目前正在处理一组新的问题(主键移动、不推荐的类型等)。非常感谢你!为了清楚起见,我所说的“默认”sails hook orm是指我最初使用了旧的hook,并重新编写了它,因此“ID”被强制作为第一列,并添加了一个软删除“deletedAt”。所以,为帆设计的ORM钩对我来说是“默认”的。即使它不是v1.12的一部分,v0.12的替代方案是什么?