Adonis:如何使用 SSL(使用 certificate.crt 文件)连接到 MySQL?

Adonis: How to connect with SSL (with a certificate.crt file) to MySQL?

我刚刚在 Digital Ocean 上创建了一个需要 SSL 连接的托管数据库。我怎样才能用 Adonis 做到这一点?

这段代码对我有用:

/**************************************************************************
 * 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