You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

knexfile.js 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. require('dotenv').config()
  2. const fs = require('fs')
  3. const local = {
  4. host: process.env.DB_HOST,
  5. user: process.env.DB_USER,
  6. password: process.env.DB_ROOT_PASSWORD,
  7. database: process.env.DB_NAME,
  8. port: process.env.DB_PORT,
  9. }
  10. const pscale = {
  11. ssl: true,
  12. host: process.env.PSCALE_DB_HOST ? process.env.PSCALE_DB_HOST : '127.0.0.1',
  13. user: process.env.PSCALE_DB_USER ? process.env.PSCALE_DB_USER : 'root',
  14. password: process.env.PSCALE_DB_PASSWORD
  15. ? process.env.PSCALE_DB_PASSWORD
  16. : '',
  17. database: process.env.PSCALE_DB_NAME,
  18. port: process.env.PSCALE_DB_PORT ? process.env.PSCALE_DB_PORT : 3306,
  19. }
  20. const connectionSettings = process.env.USE_LOCAL_DB == 'true' ? local : pscale
  21. module.exports = {
  22. development: {
  23. client: process.env.DB_TYPE,
  24. connection: connectionSettings,
  25. pool: {
  26. min: 2,
  27. max: 10,
  28. },
  29. migrations: {
  30. directory: './db/migrations',
  31. },
  32. seeds: {
  33. directory: './db/seeds',
  34. },
  35. ssl: {
  36. ca: fs.readFileSync('/etc/ssl/certs/ca-certificates.crt'),
  37. },
  38. },
  39. }