Как я могу переключить источник данных модели в петлю более одного раза? attachTo не работает
У меня есть модель, которая мне нужна для переключения источников данных, когда я хочу. Для этого я создал удаленный метод для этой модели и использовал метод 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 ответ
Возможно, лучшим выбором будет перезагрузить все модели. Возможно ли, чтобы это произошло в петле?