コード例 #1
0
ファイル: controller.py プロジェクト: ankoh/mc-server
    def run_schema(self):
        """
        Runs the schema initialization and returns if it was successfull
        """
        schema = []
        if self._config.engine == "sqlite":
            schema = read_sql_statements('sql', 'schema', 'sqlite.sql')
        elif self._config.engine == "mysql":
            schema = read_sql_statements('sql', 'schema', 'mysql.sql')

        with self._engine.begin() as conn:
            for cmd in schema:
                conn.execute(cmd)

        log.info("Schema has been initialized")
コード例 #2
0
ファイル: crawl_data.py プロジェクト: ankoh/mc-server
    def __init__(self, engine: Engine):
        self._engine = engine

        self._replace_documents = read_sql_statements("sql", "crawler", "update_documents.sql")
        self._replace_profiles = read_sql_statements("sql", "crawler", "update_profiles.sql")
        self._update_cache_documents = read_sql_statements("sql", "crawler", "update_cache_documents.sql")
        self._update_cache_fields = read_sql_statements("sql", "crawler", "update_cache_fields.sql")
        self._update_cache_profiles = read_sql_statements("sql", "crawler", "update_cache_profiles.sql")
        self._link_fields_to_documents = read_sql_statements("sql", "crawler", "link_documents_to_fields.sql")
        self._link_profiles_to_documents = read_sql_statements("sql", "crawler", "link_profiles_to_documents.sql")
        self._post_update = read_sql_statements("sql", "crawler", "post_update.sql")
        self._log_update = read_sql_statements("sql", "crawler", "log_update.sql")
コード例 #3
0
ファイル: api_data.py プロジェクト: ls1admin/mc-server
    def __init__(self, engine: Engine):
        self._engine = engine

        self._query_fields =\
            read_sql_statements('sql', 'api', 'query_fields.sql')
        self._query_profiles_slim =\
            read_sql_statements('sql', 'api', 'query_profiles_slim.sql')
        self._query_all_documents =\
            read_sql_statements('sql', 'api', 'query_all_documents.sql')
        self._query_documents_by_profile_ids =\
            read_sql_statements('sql', 'api', 'query_documents_by_profile_ids.sql')
        self._query_documents_by_field_ids =\
            read_sql_statements('sql', 'api', 'query_documents_by_field_ids.sql')
        self._query_documents_by_profile_ids_and_field_ids =\
            read_sql_statements('sql', 'api', 'query_documents_by_profile_ids_and_field_ids.sql')
        self._query_profiles_by_profile_ids_or_field_ids =\
            read_sql_statements('sql', 'api', 'query_profiles_by_profile_ids_or_field_ids.sql')
        self._query_entities =\
            read_sql_statements('sql', 'api', 'query_entities.sql')
        self._query_last_update=\
            read_sql_statements('sql', 'api', 'query_last_update.sql')
        self._query_profile=\
            read_sql_statements('sql', 'api', 'query_profile.sql')
コード例 #4
0
ファイル: controller.py プロジェクト: ankoh/mc-server
    def drop_all(self):
        drops = read_sql_statements('sql', 'schema', 'drop_all.sql')

        foreign_key_off = ""
        foreign_key_on = ""

        if self._config.engine == "mysql":
            foreign_key_off = "SET FOREIGN_KEY_CHECKS = 0"
            foreign_key_on = "SET FOREIGN_KEY_CHECKS = 1"
        elif self._config.engine == "sqlite":
            foreign_key_off = "PRAGMA foreign_keys = OFF"
            foreign_key_on = "PRAGMA foreign_keys = ON"

        with self._engine.begin() as conn:
            log.info(foreign_key_off)
            conn.execute(foreign_key_off)
            for drop in drops:
                log.info(drop)
                conn.execute(drop)
            log.info(foreign_key_on)
            conn.execute(foreign_key_on)

        log.info("Database has been dropped")