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', 
    ... 
} 

這樣看來,我不能改變的數據源已被同一模型先前使用的數據源......我注意到,這個問題是不是切換到新的數據源,而是試圖附加以前由同一個模型附加的數據源。

回答

1

也許最好的選擇是重新加載所有模型。是否有可能發生在回送中?

+0

我無法在他們的文檔上找到有關在執行期間重新加載模型的任何內容。 –