Javascript MariaDB与Sequelize的连接
我一直在检查MariaDB与Sequelize的连接Javascript MariaDB与Sequelize的连接,javascript,mysql,node.js,mariadb,sequelize.js,Javascript,Mysql,Node.js,Mariadb,Sequelize.js,我一直在检查MariaDB与Sequelize的连接 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
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
/home/lt-196/api/node\u modules/sequelize/lib/sequelize.js:236
抛出新错误('不支持方言'+this.getdialent()+''。支持的方言:mssql、mysql、postgres和sqlite');
^
错误:不支持该方言。支持的方言:mssql、mysql、postgres和sqlite。
在新的Sequelize(/home/lt-196/api/node_modules/Sequelize/lib/Sequelize.js:236:15)
反对。(/home/lt-196/api/app.js:21:19)
编译(Module.js:652:30)
在Object.Module.\u extensions..js(Module.js:663:10)
在Module.load(Module.js:565:32)
在tryModuleLoad时(module.js:505:12)
在Function.Module.\u加载(Module.js:497:3)
位于Function.Module.runMain(Module.js:693:10)
启动时(bootstrap_node.js:191:16)
在bootstrap_node.js:612:3
MariaDB
为了实现兼容性,您必须安装该软件包mariasql@0.1.20,或更高。
配置需要如下所示:
var sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'mariadb'
})
或者试试这个:
MariaSQL:
绑定到MariaDB的非阻塞(与MySQL兼容)客户端库的node.js
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。
NPM
纱线
MariaSQL正在工作,谢谢,但是第一个选项会更好,它不工作。你可以使用“mysql”作为方言。
npm install --save mariadb
npm install --save sequelize@next
yarn add mariadb
yarn add sequelize@next
const Sequelize = require('sequelize'),
sequelize = new Sequelize(process.env.db_name, process.env.db_user, process.env.db_pass, {
dialect: 'mariadb',
dialectOptions: {
socketPath: process.env.db_socket,
timezone: process.env.db_timezone
},
pool: {
min: 0,
max: 5,
idle: 10000
},
define: {
charset: 'utf8',
timestamps: false
},
benchmark: false,
logging: false
})