MariaDB 的 Sequelize 错误

Sequelize error with MariaDB

我正在尝试将 sequelize 设置为我的 MariaDB 的 ORM。

这是我的设置:

var sequelize = require('sequelize');

var db= new sequelize('dbname', 'user', 'pass', {
  dialect: 'mariadb'
});

当我 运行 我的应用程序出现以下错误时:

/my/path/to/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:23
    throw new Error('Please install mysql package manually');
    ^

Error: Please install mysql package manually

为什么 sequelize 尝试连接到 mysql 而不是我在 dialect 指令中指定的 mariadb?我错过了什么吗?

Sequelize 内部使用相同的库与 MariaDB 或 MySQL 连接,请查看文档 http://docs.sequelizejs.com/en/latest/docs/getting-started/ 具体在安装部分。

要使其正常工作,您只需要安装 mysql 软件包即可:

$ npm install --save mysql2

之前的答案没有提到的是您还必须将方言设置为 MySQL...dialect: mysql 因为 dialect: mariadb 不存在。

Sequelize 现在有方言 mariadb,不要使用 mysql

npm install --save mariadb
npm install --save sequelize

续接连接码...

var sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'mariadb'
})

您必须安装 mysql 或使用 -g 的任何方言。

npm i -g mysql