我有一个非常奇怪的问题,需要一些建议。我有一个使用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.js
和config/datastores.js
中的所有设置都正确。