Sequelize'方言需要从v4.0.0开始明确提供'

Mar*_*sev 8 error-handling node.js sequelize.js

我需要在node.js环境中运行第三方应用程序,但Sequelize抛出'方言需要从v4.0.0开始明确提供'我在这里找到了类似的主题方言需要从v4.0.0开始明确提供但是'export NODE_ENV =开发'不起作用,我找不到Sequelize配置文件.我该如何解决这个错误?

这是代码:

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;
Run Code Online (Sandbox Code Playgroud)

Mic*_*abe 11

你只需在初始化sequelize时提供方言;

const sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: // pick one of 'mysql','sqlite','postgres','mssql',
});
Run Code Online (Sandbox Code Playgroud)

  • 它已提供,我已向问题中添加了代码。 (2认同)
  • 是的,您在方言选项之前传递了两个参数。其中需要三个。看我的帖子 (2认同)
  • 确实,现在可以了,非常感谢! (2认同)

Jas*_*son 6

Node 在配置文件中找不到要加载的环境。

您可以通过运行此轻松修复

 export NODE_ENV=development; npx sequelize db:migrate
Run Code Online (Sandbox Code Playgroud)

这应该将运行它所需的环境导出到 NODE_ENV。