Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
knexfile.js 1.98 KiB
/**
 * @file Fichier de configuration Knex. Il spécifie la base de donnée à laquelle se connecter, son adresse, le nom 
 * d'un utilisateur sur le serveur qui a les droits appropriés, et son mot de passe.
 * 
 * Le fichier précise également où stocker les fichiers de migrations Knex ainsi que les _seeds_.
 * 
 * Plus précisément, ce fichier sert de fichier de configuration à la commande `knex` (en lignes de commande)
 * et c'est knex_router.js qui donne la configuration de knex.js à proprement parler (i.e. les méthodes knex.insert(...) dans le code javascript)
 * @author manifold
 */
const path = require('path');
require('dotenv').config({ path: path.resolve('..', './.env') });

const knexConfig = {
    migrations: {
        tableName: 'knex_migrations',
        directory: path.resolve('./migrations' /*'./db/migrations'*/)
    },
    seeds: {
        directory: path.resolve('./seeds' /*'./db/seeds'*/)
    }
};

module.exports = {
    development: {
        client: 'pg',
        connection: {
            host: process.env.DB_HOST || 'localhost',
            user: process.env.DB_USER || 'sigma',
            password: process.env.DB_PASSWD || 'sigmapw',
            database: process.env.DB_DATABASE || 'sigma_dev',
            charset: 'utf8'
        },
        ...knexConfig
    },
    staging: {
        client: 'pg',
        connection: {
            host: process.env.DB_HOST || 'localhost',
            user: process.env.DB_USER || 'sigma',
            password: process.env.DB_PASSWD || 'sigmapw',
            database: process.env.DB_DATABASE || 'sigma_staging',
            charset: 'utf8'
        },
        ...knexConfig
    },
    production: {
        client: 'pg',
        connection: {
            host: process.env.DB_HOST || 'localhost',
            user: process.env.DB_USER || 'sigma',
            password: process.env.DB_PASSWD || 'sigmapw',
            database: process.env.DB_DATABASE || 'sigma_prod',
            charset: 'utf8'
        },
        ...knexConfig
    }
};