def test_normal_index(self, file_creator, index_list, expected): db_path = "test_index.sqlite" runner = CliRunner() with runner.isolated_filesystem(): file_path = file_creator() result = runner.invoke( cmd, ["--index", index_list, "file", file_path, "-o", db_path]) print_traceback(result) assert result.exit_code == ExitCode.SUCCESS extractor = SqliteSchemaExtractor(db_path) assert extractor.dumps() == expected
def get_schema_extractor(source, verbosity_level): if verbosity_level >= MAX_VERBOSITY_LEVEL: return SqliteSchemaExtractor(source, verbosity_level=0, output_format="table") if verbosity_level >= 1: return SqliteSchemaExtractor(source, verbosity_level=3, output_format="text") if verbosity_level == 0: return SqliteSchemaExtractor(source, verbosity_level=0, output_format="text") raise ValueError("invalid verbosity_level: {}".format(verbosity_level))
def get_schema_extractor(source, verbosity_level): found_ptw = True try: import pytablewriter # noqa: W0611 except ImportError: found_ptw = False if verbosity_level >= MAX_VERBOSITY_LEVEL and found_ptw: return SqliteSchemaExtractor(source, verbosity_level=0, output_format="table") if verbosity_level >= 1: return SqliteSchemaExtractor(source, verbosity_level=3, output_format="text") if verbosity_level == 0: return SqliteSchemaExtractor(source, verbosity_level=0, output_format="text") raise ValueError("invalid verbosity_level: {}".format(verbosity_level))
def __require_rename_table(self, src_con, src_table_name): if not self.__dst_con.has_table(src_table_name): return False if (self.__dst_con.get_attr_name_list(src_table_name) != src_con.get_attr_name_list(src_table_name)): return True con_schema_extractor = SqliteSchemaExtractor(self.__dst_con, verbosity_level=1) con_mem_schema_extractor = SqliteSchemaExtractor(src_con, verbosity_level=1) if (con_schema_extractor.get_database_schema() == con_mem_schema_extractor.get_database_schema()): return False return True
def __require_rename_table(self, tabledata): con_mem = simplesqlite.connect_sqlite_memdb() con_mem.create_table_from_tabledata(tabledata=tabledata) if not self.__dst_con.has_table(tabledata.table_name): return (False, con_mem) if self.__dst_con.get_attr_name_list(tabledata.table_name) != tabledata.header_list: return (True, con_mem) con_schema_extractor = SqliteSchemaExtractor( self.__dst_con, verbosity_level=1) con_mem_schema_extractor = SqliteSchemaExtractor( con_mem, verbosity_level=1) if con_schema_extractor.get_database_schema() == con_mem_schema_extractor.get_database_schema(): return (False, con_mem) return (True, con_mem)