From c446a91f7db228243664115e9e6638eaee7c0e1e Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Sat, 22 Aug 2020 08:27:42 -0700 Subject: [PATCH] fix: Restore Postgres SSL support on Heroku https://github.com/brianc/node-postgres/issues/2009 --- server/config/database.json | 7 ++++++- server/sequelize.js | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/config/database.json b/server/config/database.json index 7fdc7599..8760c431 100644 --- a/server/config/database.json +++ b/server/config/database.json @@ -9,6 +9,11 @@ }, "production": { "use_env_variable": "DATABASE_URL", - "dialect": "postgres" + "dialect": "postgres", + "dialectOptions": { + "ssl": { + "rejectUnauthorized": false + } + } } } \ No newline at end of file diff --git a/server/sequelize.js b/server/sequelize.js index 34850f93..d6ad784b 100644 --- a/server/sequelize.js +++ b/server/sequelize.js @@ -3,6 +3,8 @@ import debug from "debug"; import Sequelize from "sequelize"; import EncryptedField from "sequelize-encrypted"; +const isProduction = process.env.NODE_ENV === "production"; + export const encryptedFields = () => EncryptedField(Sequelize, process.env.SECRET_KEY); @@ -10,7 +12,14 @@ export const DataTypes = Sequelize; export const Op = Sequelize.Op; export const sequelize = new Sequelize(process.env.DATABASE_URL, { - // logging: console.log, logging: debug("sql"), typeValidation: true, + dialectOptions: { + ssl: isProduction + ? { + // Ref.: https://github.com/brianc/node-postgres/issues/2009 + rejectUnauthorized: false, + } + : false, + }, });