我的想法是在我的主机上安装多个数据库,每个用户一个。在前端,有一个登录表单,其中用户输入是数据库的名称。
我们说我的用户名是JOHN,因此我正在使用的数据库将命名为" DB_JOHN"。我希望我的后端获取用户名并将其连接到" DB _"字符串,所以我可以进行动态连接。怎么会这样?
在 config / connections.js 中,您可以默认找到此代码:
someMysqlServer: {
adapter: 'sails-mysql',
host: 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS',
user: 'YOUR_MYSQL_USER',
password: 'YOUR_MYSQL_PASSWORD',
database: 'YOUR_MYSQL_DB'
},
如何从获取所有这些属性的控制器设置数据库,用户和密码属性?
答案 0 :(得分:0)
在您的控制器中,您必须打开连接。虽然您通常会传递someMysqlServer
,但现在您必须根据req
对象动态创建一个。
这里有一些你可以在控制器中使用的模拟代码。
var connOpts = {
adapter: 'sails-mysql',
host: 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS',
user: req.body.user,
password: req.body.password,
database: req.body.database
};
mysql(connOpts, function(err, conn) {
});