使用 Sails 1.0.0 连接到 postgresql 数据库?

问题描述 投票:0回答:2

我刚刚决定将现有的 Sails 项目升级到 1.0.0,并设法完成大部分升级过程,直到我尝试连接到数据库。当尝试解除此错误时,我收到的错误是:

default
数据存储使用的适配器与 当前版本的 Sails/Waterline。

适配器应公开有效的

adapterApiVersion

如果您使用的是 Sails 1.0 的测试版,请尝试:

npm install --save sails-disk@beta

我的

datastores.js
文件包含以下内容:

module.exports.datastores = {

  // In previous versions, datastores (then called 'connections') would only be loaded
  // if a model was actually using them.  Starting with Sails 1.0, _all_ configured
  // datastores will be loaded, regardless of use.  So we'll only include datastores in
  // this file that were actually being used.  Your original `connections`  config is
  // still available as `config/connections-old.js.txt`.

   'developmentPostgres': {
    adapter: require('sails-postgresql'),
    url: process.env.postgresHost,
    user: process.env.postgresUser,
    password: process.env.postgresPassword,
    database: process.env.postgresDatabase
  }

};

所有值都作为环境变量提供。

"sails-postgresql": "^1.0.0"
安装并保存在
package.json

models.js
还包含以下行:
datastore: 'developmentPostgres'
,据我了解,这意味着我的所有模型都应默认使用上述数据库。

到目前为止,升级过程非常简单。我想我在这里也错过了一些简单的东西。我将不胜感激任何人可以提供的任何见解,并且也很乐意提供任何其他信息。

node.js sails.js sails-postgresql
2个回答
0
投票

结果该项目寻找标记为

default
的数据存储。将
default
datastore.js
中的名称更改为
model.js
解决了问题。


0
投票

你可以查看我的回答如何连接MSSQL数据库:

Sails.js 和 SQL Server 数据库提供程序

它的工作方式相同,只需使用 sails-postgresql 适配器(https://www.npmjs.com/package/sails-postgresql

从 0.12 版本迁移到 1.0 版本,使用 @sailshq/upgrade 包 (https://github.com/sailshq/upgrade-to-sails-v1)。它将帮助您扫描应用程序并检查应该更新哪些内容。

例如将connection.js重命名为datastores.js等。

© www.soinside.com 2019 - 2024. All rights reserved.