Привет, у меня возникла проблема с подключением к Google Cloud SQL из GAE.
Мое приложение работает внутри контейнера докеров, вот файл докера.
FROM node:8.10.0-alpine
ARG NODE_ENV=production
ENV NODE_ENV=$NODE_ENV
# env like sql user db instance connection name
# Set a working directory
WORKDIR /usr/src/app
COPY ./build/package.json .
COPY ./build/yarn.lock .
# Install Node.js dependencies
RUN yarn install --production --no-progress
# Copy application files
COPY ./build .
COPY ./src/db/seeders ./seeds
COPY ./src/db/migrations ./migrations
COPY ./scripts ./scripts
RUN yarn run db:seed # -> failed to run this line
RUN yarn run db:migrate
# Run the container under "node" user by default
USER node
CMD [ "node", "server.js" ]
для подключения к базе данных я использую Sequealize, это моя конфигурация подключения
module.exports = {
production: {
dialect: 'postgres',
seederStorage: 'sequelize',
seederStorageTableName: 'sequelize_seeder',
username: process.env.SQL_USER,
password: process.env.SQL_PASSWORD,
database: process.env.SQL_DATABASE,
host: `/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}`,
logging: true,
dialectOptions: {
socketPath: `/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}`,
supportBigNumbers: true,
bigNumberStrings: true,
ssl: false,
},
pool: {
max: 5,
idle: 30000,
acquire: 60000,
},
operatorsAliases: false,
define: {
freezeTableName: true,
},
},
};
Я пробовал почти все, от настройки хоста до localhost / 127.0.0.1. При этом я получаю SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:5432
Если я устанавливаю хост: host:
/ cloudsql / $ {process.env.INSTANCE_CONNECTION_NAME} ''
У меня другая ошибка SequelizeConnectionError: connect ENOENT {MY_INSTANCE_CONNECTION_NAME}.s.PGSQL.5432
мой файл app.yaml
env: flex
runtime: custom
env_variables:
#env db user etc..
beta_settings:
cloud_sql_instances: MY_INSTANCE_CONNECTION_NAME
Я попытался войти в систему с помощью knex, и мне удалось подключиться, поэтому я предполагаю, что что-то не так с моей конфигурацией