Как я могу переключить источник данных модели в петлю более одного раза? 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 ответ

Возможно, лучшим выбором будет перезагрузить все модели. Возможно ли, чтобы это произошло в петле?

Другие вопросы по тегам