javascript - MariaDB 与 Sequelize 的连接
问题描述
我一直在使用 Sequelize 检查 MariaDB 的连接性。
const Sequelize = require('sequelize');
// Setting up database (MariaDB) connection
const sequelize = new Sequelize('dbName', 'usr', 'pass', {
host: 'localhost',
dialect: 'mariadb'
});
但我收到以下错误:
/home/lt-196/api/node_modules/sequelize/lib/sequelize.js:236
throw new Error('The dialect ' + this.getDialect() + ' is not supported. Supported dialects: mssql, mysql, postgres, and sqlite.');
^
Error: The dialect mariadb is not supported. Supported dialects: mssql, mysql, postgres, and sqlite.
at new Sequelize (/home/lt-196/api/node_modules/sequelize/lib/sequelize.js:236:15)
at Object.<anonymous> (/home/lt-196/api/app.js:21:19)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
解决方案
MariaDB 为了与 MariaDB 兼容,您必须安装包 mariasql@0.1.20 或更高版本。配置需要如下所示:
var sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'mariadb'
})
或者试试这个:
MariaSQL:https ://www.npmjs.com/package/mariasql
一个 node.js 绑定到 MariaDB 的非阻塞(MySQL 兼容)客户端库。
var Client = require('mariasql');
var c = new Client({
host: '127.0.0.1',
user: 'foo',
password: 'bar'
});
c.query('SHOW DATABASES', function(err, rows) {
if (err)
throw err;
console.dir(rows);
});
c.end();
推荐使用 MariaSQL。
推荐阅读
- python - odoo-14:当我尝试使用 Digital Ocean 安装模块时出现错误
- ios - 如何从某些结果中过滤随机字符串生成器
- bash - 从单个命令的多行输出中读取多个变量
- vue.js - 如何在 vue 应用程序的 bootstrap-select 组件中使用 fontawesome-icon 组件?
- python - 如何在 Tensorflow 中手动设置 LSTM 层的权重
- java - 如何在 Java Swing 中的给定坐标上创建点图像?
- c++ - 使用 magick++ 的应用程序返回 Magick++/Functions.h:14:10:致命错误:找不到“字符串”文件
- android - 如何防止 BottomSheetDialogFragment 在导航到另一个片段后关闭?
- python - Python 线程无法正确执行
- android - 无法在 Android 11 中从应用程序自己的外部存储 (SDcard) 文件夹中共享文件