我只想要MYsql解决方案
我想根据请求切换数据库 我已经在Sails的先前版本中实现了它,但是有了这个新版本(1.0.0) 我做不到 changelist
没有文档
我有主数据库,可以说DB_A,在用户拥有自己的数据库进行交互之后,我将其用作默认数据存储来对用户进行身份验证 提起后,它可以是系统中存在的任何数据库,用户可以通过该数据库进行连接和提取
我发现了一些选择
1)重新加载orm
2)创建管理器
但是不知道如何使用它,因为没有一个建议
有人可以帮助我
答案 0 :(得分:0)
我在Sails应用程序中使用PostgreSQL时遇到了类似的问题。一世 在下面找到了解决方法。 即npm install pg。 在您的情况下,安装mysql插件,即mysql中的npm
我已经在sails app controllers文件夹中创建了dbconnections.js
const a = {
host: 'abc.com',
port: 'xxxx',
database: 'xxxx',
user: 'xxxx',
password: 'xxxx'
}
const b = {
host: 'ecd.com',
port: 'xxxx',
database: 'xxxx',
user: 'xxxx',
password: 'xxxx'
}
module.exports = { a: a, b: b};
然后在其他控制器中,我使用了pg插件来匹配用户传递的数据库 通过api进行环境
即在我的其他控制器中
var sourceFile = require('./dbconnections.js');
const {
Client
} = require('pg');
对于您的情况,您可以按照以下https://www.npmjs.com/package/mysql进行操作 创建连接对象并按照以下逻辑进行动态连接 到不同的数据库
var match_env;
for (x in sourceFile) {
if (x === env) {
match_env = sourceFile[x];
}
}
const client = new Client(match_env)
现在客户端对象将拥有所有可以执行的postgresql事务 执行,即 client.connect() const qry =“ select * from city =” newyork“的人; client.query(qry,function(err,resp){
console.log("before", client)
client.end();
console.log("after", client)
//user = JSON.parse(user);
if (err) {
return res.json({
error: err
});
}
if (resp === undefined) {
return res.notFound();
} else
console.log(resp);
return res.json({
userData: resp.rows
});
}
);
根据用例,我们可以将以上代码移至其他js文件并调用 在作为 尽可能多的控制器,这将与多个数据库一起使用 在Sails应用中连接Postgres sql。