Sails 中的 PostgreSQL 设置

PostgreSQL setup in Sails

我不熟悉 sails 及其与数据库的连接。我打算使用 Heroku 来托管我的应用程序,所以我想使用 Postgresql。

我已经用以下代码更改了 config.datastore 文件:

default: {

        adapter: 'sails-postgresql',
        url: 'postgresql://postgres:postgres@localhost:5432/postgres',
        max: 1
    }

在 Sails 文档中说 url 是 url: 'postgresql://user:password@host:port/database',但我不明白我应该从哪里获得用户名和密码。我是否需要启动 postgresql 并设置它并定义一个新数据库?

我只是想了解此设置背后的机制。

您需要做的是为本地 PostgreSQL 创建一个新用户,而不是使用默认用户和数据库。我的意思是,在 SQL 中为您的特定项目创建一个 user-specific 之后应该有助于 https://www.postgresql.org/docs/8.0/sql-createuser。 html.(这应该也能帮你设置密码)

然后按照以下步骤创建要连接到供 Waterline 使用的 Sails 应用程序的数据库:https://www.postgresql.org/docs/9.0/sql-createdatabase.html (make sure you grant the user you created permissions for this database as well https://www.postgresql.org/docs/9.0/sql-grant.html)

那么你只需要将 config/datastore.js 中的 url 属性 值替换为遵循格式

的值

postgres://USERNAME:PASSWORD@localhost:5432/DATABASE_NAME

N.B:将USERNAME、PASSWORD和DATABASE_NAME分别替换为实际的用户名、密码和数据库名。

当您部署到 Heroku 时,如果您安装 Heroku Postgres add-on,Heroku 会为您提供一个名为 DATABASE_URL 的环境变量。您可以像这样将其传递给 url

url: process.env.DATABASE_URL