4

我正在尝试sequelize为我的MariaDB.

这是我的设置:

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 而不是我在指令中指定的 mariadb dialect?我错过了什么吗?

4

4 回答 4

6

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

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

Sequelize 连接代码...

var sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'mariadb'
})
于 2018-12-15T00:04:19.620 回答
5

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

为了使它工作,你只需要安装 mysql 包,这样:

$ npm install --save mysql2
于 2016-03-04T17:55:48.900 回答
2

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

于 2018-09-08T22:48:12.257 回答
0

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

npm i -g mysql
于 2020-07-26T15:42:21.550 回答