使用postgres将模型添加到现有的sailsjs应用程序

时间:2018-10-26 19:27:09

标签: sails.js waterline sails-postgresql

我有一个非常奇怪的问题,需要一些建议。我有一个使用Sails 1.0.2(最初使用0.13创建并进行升级)的现有,完善的Sails应用程序,sails-postgresql @ 1.0.0-13。相当长一段时间以来,该应用程序已拥有9种模型(均使用pg)。我现在正尝试添加三个。由于我们不喜欢自动迁移,因此我在postgres中创建了这些,然后使用sails generate模型基于postgres表创建了Sails模型。这些模型看起来与已经存在的模型非常相似。

但是,如果我尝试执行一个简单的查询,则会遇到一些非常奇怪的错误。 (请注意,“用户”是我现有的模型之一,而不是新模型之一-因此,这显然消除了整个orm钩子。)

sails> User.find().then(console.log)
Promise {
  _bitField: 0,
  _fulfillmentHandler0: undefined,
  _rejectionHandler0: undefined,
  _promise0: undefined,
  _receiver0: undefined }
sails> Unhandled rejection AdapterError: Unexpected error from database 
adapter: Could not run select() because of 2 problems:
------------------------------------------------------
• "datastore" is required, but it was not defined.
• "models" is required, but it was not defined.
------------------------------------------------------

如果我删除了新的模型文件,则可以正常工作。如果文件存在(即使整个内容都被注释掉了,或者模型的所有属性都被注释掉了!),我将得到相同的错误。我已经尝试过重新创建和简化表格(因为我使用了Postgres的一些高级功能),但是却无济于事。

我发现唯一有区别的是是否在新模型中添加了“数据存储”属性。在这种情况下,我可以查询“旧”模型,但是在尝试查询新模型时会遇到相同的错误。

我已经确认我在config/models.jsconfig/datastores.js中的所有设置都正确。

0 个答案:

没有答案