str) is not None and version.parse(predictor_record.mindsdb_version) < last_compatible_version): predictor_record.update_status = 'available' is_modified = True if is_modified is True: db.session.commit() # endregion for integration_name in datasource_interface.get_db_integrations( sensitive_info=True): print(f"Setting up integration: {integration_name}") if datasource_interface.get_db_integration(integration_name).get( 'publish', False): # do setup and register only if it is 'publish' integration dbw.setup_integration(integration_name) dbw.register_predictors(model_data_arr, integration_name=integration_name) for integration_name in config.get('integrations', {}): try: it = datasource_interface.get_db_integration(integration_name) if it is not None: datasource_interface.remove_db_integration( integration_name) print(f'Adding: {integration_name}') datasource_interface.add_db_integration( integration_name, config['integrations'][integration_name] ) # Setup for user `None`, since we don't need this for cloud if config['integrations'][integration_name].get( 'publish', False) and not is_cloud:
'mysql': start_mysql, 'mongodb': start_mongo } archive_obsolete_predictors(config, '2.11.0') mdb = NativeInterface(config) cst = CustomModels(config) remove_corrupted_predictors(config, mdb) model_data_arr = get_all_models_meta_data(mdb, cst) dbw = DatabaseWrapper(config) for db_alias in config['integrations']: dbw.setup_integration(db_alias) dbw.register_predictors(model_data_arr) for broken_name in [ name for name, connected in dbw.check_connections().items() if connected is False ]: log.error( f'Error failed to integrate with database aliased: {broken_name}') ctx = mp.get_context('spawn') for api_name, api_data in apis.items(): print(f'{api_name} API: starting...') try: p = ctx.Process(target=start_functions[api_name],