1
我有一個模型,我需要切換dataSources只要我想要。爲此,我在該模型上創建了一個遠程方法,並使用了方法。如何在不止一次的環回中切換模型的數據源? attachTo不工作
// myModel.js
switchDataSource = function(req, fn){
const app = MyModel.app;
console.log('req.dataSource ', req.dataSource);
if(req.dataSource === 'datasource1'){
MyModel.attachTo(app.dataSources.datasource1);
} else if(req.dataSource === 'datasource2'){
MyModel.attachTo(app.dataSources.pagarmeTest);
}
console.log('Datasource Attached: ', MyModel.getDataSource().settings.name);
fn();
}
我第一次調用遠程方法時,數據源會相應地改變。
例如,datasource1
附加到myModel
,現在我用datasource2
調用遠程方法。這將工作得很好。
但是,如果我稱這種遠程方法,通過datasource1
- 之前附加到myModel
- 它不會工作。 console.log(Model.getDataSource()。settings.name)顯示數據源已更改,但是當我使用該模型及其數據源時,它仍然是前一個。
在datasources.local.js,我宣佈,我將不斷連接,並從我的模型Model
分離的數據源。
// datasources.local.js
exports.datasource1 = {
name: 'datasource1',
connector: 'rest',
...
}
exports.datasource2 = {
name: 'datasource2',
connector: 'rest',
...
}
這樣看來,我不能改變的數據源已被同一模型先前使用的數據源......我注意到,這個問題是不是切換到新的數據源,而是試圖附加以前由同一個模型附加的數據源。
我無法在他們的文檔上找到有關在執行期間重新加載模型的任何內容。 –