将 Sequelize 连接到 Google 云 SQL

Connecting Sequelize to Google Cloud SQL

有谁知道如何从 Sequelize 连接到 Google Cloud SQL?

  sequelize = new Sequelize(process.env.TEST_DB || 'postgres', 'blah', null, {
    dialect: 'postgres',
    operatorsAliases: Sequelize.Op,
    host: process.env.DB_HOST || 'localhost',
    define: {
      underscored: true
    },
  });
  connected = true;

您可以像从任何其他客户端工具或 ORM 一样从 Sequelize 进行连接。正确获得访问权限取决于您 运行 您的代码所在的位置。如果您的代码在 GCP 之外运行,您可以按照此页面上的外部应用说明进行操作: https://cloud.google.com/sql/docs/postgres/connect-external-app.

如果您在本地计算机中使用代理,请将 process.env.DB_HOST 设置为 127.0.0.1。您可以在 https://cloud.google.com/sql/docs/postgres/sql-proxy#troubleshooting 找到故障排除提示。

index.js

const sequelize = new Sequelize('{db_name}', '{db_user}', '{db_password}', {
  dialect: 'mysql',
  host: '/cloudsql/{instance}',
  timestamps: false,
  dialectOptions: {
    socketPath: '/cloudsql/{instance}'
},
});

将此添加到 serverless.yml

beta_settings:
  cloud_sql_instances: {xxxxxxx-xxxxxx:us-central1:xxxxxxxxxxx}