MariaDB 的 Sequelize 错误
Posted
技术标签:
【中文标题】MariaDB 的 Sequelize 错误【英文标题】:Sequelize error with MariaDB 【发布时间】:2016-06-18 05:48:39 【问题描述】:我正在尝试将 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?我错过了什么吗?
【问题讨论】:
【参考方案1】:Sequelize 现在有方言mariadb
,不要使用mysql
npm install --save mariadb
npm install --save sequelize
Sequelize 连接代码...
var sequelize = new Sequelize('database', 'username', 'password',
dialect: 'mariadb'
)
【讨论】:
【参考方案2】:Sequelize 内部使用相同的库来连接 MariaDB 或 MySQL,请查看文档 http://docs.sequelizejs.com/en/latest/docs/getting-started/ 专门在安装部分。
要让它工作,你只需要安装 mysql 包:
$ npm install --save mysql2
【讨论】:
我浏览了文档无数次...不知道我怎么没看到...谢谢!!mysql2
当前版本需要
@indospace.io 如果您认为答案不正确,请在 cmets 中说明或发布您自己的答案,但不要编辑其他人的答案。【参考方案3】:
前面的答案没有提到的是您还必须将方言设置为 MySQL...dialect: mysql
因为dialect: mariadb
不存在。
【讨论】:
【参考方案4】:你必须使用 -g 安装 mysql 或任何方言。
npm i -g mysql
【讨论】:
以上是关于MariaDB 的 Sequelize 错误的主要内容,如果未能解决你的问题,请参考以下文章