2

I just created a Managed Database on Digital Ocean that requires an SSL connection. How can I do that with Adonis?

Julien Le Coupanec
  • 7,742
  • 9
  • 53
  • 67

1 Answers1

3

This code works for me:

/**************************************************************************
 * IMPORTS
 ***************************************************************************/

// NPM
const fs = require('fs')

// Providers
const Env = use('Env')

/**************************************************************************
 * CONFIG > DATABASE
 ***************************************************************************/

const config = {
  connection: Env.get('DB_CONNECTION', 'mysql'),

  mysql: {
    client: 'mysql',

    connection: {
      host: Env.get('DB_HOST', 'localhost'),
      port: Env.get('DB_PORT', ''),
      user: Env.get('DB_USER', 'root'),
      password: Env.get('DB_PASSWORD', ''),
      database: Env.get('DB_DATABASE', 'adonis'),
    },

    debug: Env.get('DB_DEBUG', false),
  },
}

// Add certificate for production environment
if (Env.get('NODE_ENV') === 'production') {
  config.mysql.connection.ssl = {
    ca: fs.readFileSync(__dirname + '/certs/ca-database.crt'),
  }
}

module.exports = config
Julien Le Coupanec
  • 7,742
  • 9
  • 53
  • 67