【问题标题】:Sequelize error with MariaDBMariaDB 的 Sequelize 错误
【发布时间】: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?我错过了什么吗?

【问题讨论】:

    标签: node.js sequelize.js mariadb mariasql


    【解决方案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
        

        【讨论】:

          猜你喜欢
          • 2019-01-10
          • 1970-01-01
          • 2014-10-24
          • 1970-01-01
          • 2017-04-12
          • 2016-02-16
          • 2015-09-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多