web-dev-qa-db-fra.com

Sequelize 'Dialect doit être explicitement fourni à partir de la v4.0.0'

J'ai besoin d'exécuter une application tierce dans l'environnement node.js mais Sequelize lance `` Dialect doit être explicitement fourni à partir de v4.0.0 '' J'ai trouvé un sujet similaire ici (Dialect doit être explicitement fourni à partir de v4.0.0) mais 'export NODE_ENV = development' ne fonctionne pas et je ne trouve pas le fichier de configuration Sequelize. Comment puis-je corriger cette erreur?

Voici le code:

const Sequelize = require('sequelize');

const scheme = require('./scheme');

const Op = Sequelize.Op;

const sequelize = new Sequelize(null, null, {

dialect: 'sqlite',
storage: 'db.sqlite3',

operatorsAliases: { $and: Op.and },

logging: false
});

scheme(sequelize);
sequelize.sync();

module.exports.sequelize = sequelize;
module.exports.models = sequelize.models;
8
Mark Polovtsev

Vous fournissez simplement le dialecte lorsque vous initialisez la séquelle;

const sequelize = new Sequelize('database', 'username', 'password', {
  Host: 'localhost',
  dialect: // pick one of 'mysql','sqlite','postgres','mssql',
});
11
Michael McCabe

cela a fonctionné pour moi:

'use strict';

const path = require('path');
const Sequelize = require('sequelize');
const db = {};

const DB = 'users';
const USER = 'user';
const PASSWORD = 'password';
const Host = 'Host';
const DIALECT = 'postgres';
const PORT = 5432;

const CONNECTION = new Sequelize(
    DB,
    USER, 
    PASSWORD, 
    {
        Host: Host,
        dialect: DIALECT,
        port: PORT,
    }
)

module.exports.CONNECTION = CONNECTION;

Le nœud ne peut pas trouver votre environnement à charger dans le fichier de configuration.

Vous pouvez facilement résoudre ce problème en exécutant ce

 export NODE_ENV=development; npx sequelize db:migrate

Cela devrait exporter vers NODE_ENV l'environnement nécessaire pour l'exécuter.

0
Jason