В настоящее время я должен решить, как реализовать многопользовательский режим с моим приложением узла наилучшим возможным способом. На данный момент у меня есть свое common_db_connection, где у меня есть таблица поиска, в которой я могу запросить имя базы данных арендаторов для каждого конкретного пользователя c.
У меня есть функция распознавателя, которая использует идентификатор пользователя для получения имя базы данных клиента и, наконец, верните соединитель my mysql.
Мое решение выглядит следующим образом:
var conn_common_db = mysql.createPool({
connectionLimit : 150,
host : 'localhost',
user : 'root',
password : '',
database : 'common_db'
});
function conn_resolver(req) {
conn_common_db.query("SELECT tenant_db_name from tenants where tenant_uid = (SELECT tenant_uid from tenant_user where user_uid = ?)",
[requst.session.user_uid], function(err, result) {
if(!err) {
tenant_db_name = result[0].tenant_db_name
return mysql.createPool({
connectionLimit : 150,
host : 'localhost',
user : 'root',
password : '',
database : tenant_db_name
});
}
else{
console.log(err)
return null;
}
})
}
app.get('/', function(request, response) {
conn_resolver(req).query("SELECT * FROM user", function(err, result) {
if(!err) {
console.log(result)
}
else{
//res.send(err)
}
})
});
Это правильный способ сделать это, и безопасно ли это делать как это?
Заранее спасибо!