【发布时间】:2015-09-19 07:37:28
【问题描述】:
我们的 MySQL 数据库设置了写入集群和读取集群,有没有办法设置 Strongloop Loopback 模型(例如用户)来写入 MySQL 主机 A 并从 MySQL 主机 B 读取?
【问题讨论】:
标签: loopbackjs strongloop
我们的 MySQL 数据库设置了写入集群和读取集群,有没有办法设置 Strongloop Loopback 模型(例如用户)来写入 MySQL 主机 A 并从 MySQL 主机 B 读取?
【问题讨论】:
标签: loopbackjs strongloop
如果您想更改单个模型的数据源,请尝试使用 attachTo()。例如
app.models.YourModel.attachTo(app.dataSources.readDS);
readData();
...
app.models.YourModel.attachTo(app.dataSources.writeDS);
writeData();
您必须在 datasources.json 文件中定义 readDS 和 writeDS 数据源:
{
"readDS": {
"host": "hostA",
"database": "dbOnHostA",
"username": "user",
"password": "password",
"name": "readDS",
"connector": "mysql"
},
"writeDS": {
"host": "hostB",
"database": "dbOnHostB",
"username": "user",
"password": "password",
"name": "writeDS",
"connector": "mysql"
}
}
或者您可以动态创建数据源。
【讨论】:
在 loopback 2.0 中,您可以尝试覆盖 getDataSource 方法并根据上下文返回不同的数据源。但是在 loopback 3.0 中,上下文已经被移除,并且选项也没有传递给 getDataSource,所以要达到完美将是一个挑战。
【讨论】: