def _get_old_new_tablenames(engine_id=None): by_engine_id = defaultdict(list) seen_tables = defaultdict(set) for ds in StaticDataSourceConfiguration.all(): ds_engine_id = ds['engine_id'] if engine_id and ds_engine_id != engine_id: continue old, new = _table_names(ds.domain, ds.table_id) if old in seen_tables[ds_engine_id]: logger.warning('Duplicate table: %s - %s', ds.get_id, old) continue seen_tables[ds_engine_id].add(old) by_engine_id[ds_engine_id].append(DSConf(old, new, ds)) data_source_ids = [ row['id'] for row in DataSourceConfiguration.view( 'userreports/active_data_sources', reduce=False, include_docs=False) ] for ds in iter_docs(DataSourceConfiguration.get_db(), data_source_ids): ds = DataSourceConfiguration.wrap(ds) ds_engine_id = ds['engine_id'] if engine_id and ds_engine_id != engine_id: continue old, new = _table_names(ds.domain, ds.table_id) if old in seen_tables[ds_engine_id]: logger.warning('Duplicate table: %s - %s', ds.get_id, old) continue seen_tables[ds_engine_id].add(old) by_engine_id[ds_engine_id].append(DSConf(old, new, ds)) return by_engine_id
def set_default_engine_ids(apps, schema_editor): if not settings.UNIT_TESTING: get_preindex_plugin('userreports').sync_design_docs() ucr_db = DataSourceConfiguration.get_db() with IterDB(ucr_db) as iter_db: for doc in iter_docs(ucr_db, DataSourceConfiguration.all_ids()): if not doc.get('engine_id'): doc['engine_id'] = DEFAULT_ENGINE_ID iter_db.save(doc)
def set_default_engine_ids(apps, schema_editor): if not settings.UNIT_TESTING: sync_docs.sync(ucr_models, verbosity=2) ucr_db = DataSourceConfiguration.get_db() with IterDB(ucr_db) as iter_db: for doc in iter_docs(ucr_db, DataSourceConfiguration.all_ids()): if not doc.get("engine_id"): doc["engine_id"] = DEFAULT_ENGINE_ID iter_db.save(doc)
def get_ucr_datasource_config_by_id(indicator_config_id, allow_deleted=False): from corehq.apps.userreports.models import ( id_is_static, StaticDataSourceConfiguration, DataSourceConfiguration, ) if id_is_static(indicator_config_id): return StaticDataSourceConfiguration.by_id(indicator_config_id) else: doc = DataSourceConfiguration.get_db().get(indicator_config_id) return _wrap_data_source_by_doc_type(doc, allow_deleted)