正在为本地 Strapi 应用程序连接到 Google 云 PostgresQL 服务器
Connecting to Google Cloud PostgresSQL Server for local Strapi Application
我设置了一个Google云Postgres服务器,在生产环境下我可以正确连接到服务器。但是,当我尝试连接到本地服务器中的同一个云服务器时,它似乎不起作用。这是我的 database.js
的配置
module.exports = ({ env }) => {
return {
defaultConnection: "default",
connections: {
default: {
connector: "bookshelf",
settings: {
client: "postgres",
host: `/cloudsql/${env("INSTANCE_CONNECTION_NAME")}`,
database: env("DATABASE_NAME"),
username: env("DATABASE_USERNAME"),
password: env("DATABASE_PASSWORD"),
},
options: {},
},
},
};
};
我还正常设置了 app.yaml。我还创建了 .env 文件 来存储相关的 env 信息。
我得到的错误是
error Error: connect ENOENT /cloudsql/my-app-286221:us-central1:blm-resources/.s.PGSQL.5432
本地开发的Strapi是否支持连接云端数据库?还是我哪里做错了。
这不应该是 strapi 问题。首先,您需要从外部访问 google 云 postgres 数据库。我不熟悉 google 云服务,但从文档来看,似乎有几件事要做才能授予对数据库的访问权限。
文档中的更多信息:
https://cloud.google.com/sql/docs/postgres/connect-external-app#appaccessIP
基本上,您从外部授予连接访问权限,然后将该连接信息添加到您的 strapi 配置文件中。
我注意到你的 host:
没有指向 http://
或 https://
,而是指向某个 google 服务器的本地地址。
我设置了一个Google云Postgres服务器,在生产环境下我可以正确连接到服务器。但是,当我尝试连接到本地服务器中的同一个云服务器时,它似乎不起作用。这是我的 database.js
的配置module.exports = ({ env }) => {
return {
defaultConnection: "default",
connections: {
default: {
connector: "bookshelf",
settings: {
client: "postgres",
host: `/cloudsql/${env("INSTANCE_CONNECTION_NAME")}`,
database: env("DATABASE_NAME"),
username: env("DATABASE_USERNAME"),
password: env("DATABASE_PASSWORD"),
},
options: {},
},
},
};
};
我还正常设置了 app.yaml。我还创建了 .env 文件 来存储相关的 env 信息。
我得到的错误是
error Error: connect ENOENT /cloudsql/my-app-286221:us-central1:blm-resources/.s.PGSQL.5432
本地开发的Strapi是否支持连接云端数据库?还是我哪里做错了。
这不应该是 strapi 问题。首先,您需要从外部访问 google 云 postgres 数据库。我不熟悉 google 云服务,但从文档来看,似乎有几件事要做才能授予对数据库的访问权限。
文档中的更多信息:
https://cloud.google.com/sql/docs/postgres/connect-external-app#appaccessIP
基本上,您从外部授予连接访问权限,然后将该连接信息添加到您的 strapi 配置文件中。
我注意到你的 host:
没有指向 http://
或 https://
,而是指向某个 google 服务器的本地地址。