Skip to content
On this page

Database Configs

ts
import { LogLevels, IApplicationConfig } from "axe-api";

const config: IApplicationConfig = {
  database: {
    client: process.env.DB_CLIENT || "mysql",
    connection: {
      host: process.env.DB_HOST || "localhost",
      user: process.env.DB_USER || "user",
      password: process.env.DB_PASSWORD || "password",
      database: process.env.DB_DATABASE || "database",
      port: process.env.DB_PORT ? parseInt(process.env.DB_PORT) : 3306,
    },
    pool: {
      min: 2,
      max: 10,
    },
    migrations: {
      tableName: "knex_migrations",
    },
  },
};

export default config;

Axe API uses knex.js for database operations. All of the database configurations are the same as the original documentation.

client

client means which database you are using. Axe API supports all database that is supported by Knex.js;

  • PostgreSQL: pg
  • CockroachDB: pg
  • MSSQL: tedious
  • MySQL: mysql
  • MariaDB: mysql
  • SQLite3: sqlite3
  • Better-SQLite3: better-sqlite3
  • Oracle: oracledb
  • Amazon Redshift: pg

connection

Connection parameters could be different by the database client. You can check the correct value via Knex.js' documentation.

connection.host

The database host. For example; 127.0.0.1 or localhost

connection.user

The database connection user. For example; root

connection.password

The database user password.

connection.database

The database schema name.

connection.port

The database port. For example; 3306

pool

The connection pool setting.

migrations

In this section, you can decide all migration settings.

Released under the MIT License.