我正在尝试将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
Sequelize连接代码......
var sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'mariadb'
})