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;
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',
});
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.