首页 > 解决方案 > 使用 postgres 将模型添加到现有的sailsjs 应用程序

问题描述

我有一个非常奇怪的问题,希望得到一些建议。我有一个使用 Sails 1.0.2(最初使用 0.13 创建并升级)的现有、完善的 Sails 应用程序,sails-postgresql@1.0.0-13。很长一段时间以来,该应用程序已经有 9 个模型(全部使用 pg)。我现在正在尝试再添加三个。由于我们不喜欢自动迁移,我在 postgres 中创建了这些,然后使用sails generate model 基于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 功能),但什么也没做。

我发现唯一不同的是,如果我将“datastore”属性添加到新模型中。在这种情况下,我可以查询“旧”模型,但在尝试查询新模型时会出现相同的错误。

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

标签: sails.jswaterlinesails-postgresql

解决方案


推荐阅读