def test_translate_table_1(self): """Verify translate_table() returns case-sensitive table names. """ for table in self.table_inputs: with self.subTest(table_input=table): translated = parsing.translate_table(self.metadata, table) self.assertTrue(translated in self.tables)
def get_map(self, table): """Get SQLAlchemy ORM map object. """ if self._mapper is None: self.build_mapper() table = parsing.translate_table(self._metadata, table) return self._mapper.classes[table]
def build_onclause(db_graph, source_table, adjacent_table): source_table = parsing.translate_table(db_graph.graph["metadata"], source_table) adjacent_table = parsing.translate_table(db_graph.graph["metadata"], adjacent_table) if source_table == adjacent_table: source_table = db_graph.nodes[source_table]["table"] return source_table edge = db_graph[source_table][adjacent_table] foreign_key = edge["key"] referent_column = foreign_key.column referenced_column = foreign_key.parent onclause = referent_column == referenced_column return onclause
def get_map(mapper, table): """Get SQLAlchemy ORM map object. :param mapper: Connected and prepared SQLAlchemy automap base object. :type mapper: DeclarativeMeta :param table: Case-insensitive table to retrieve a ORM map for. :type table: str :returns: SQLAlchemy mapped object. :rtype: DeclarativeMeta """ table = parsing.translate_table(mapper.metadata, table) return mapper.classes[table]
def get_table(metadata, table): """Get a SQLAlchemy Table object, with a case-insensitive input. :param metadata: Reflected SQLAlchemy MetaData object. :type metadata: MetaData :param table: Case-insensitive table name. :type table: str :returns: Corresponding SQLAlchemy Table object. :rtype: Table """ # Ensures table name is accurate before indexing metadata. table = parsing.translate_table(metadata, table) table_obj = metadata.tables[table] return table_obj
def test_translate_table_2(self): with self.assertRaises(ValueError): parsing.translate_table(self.metadata, "pham")
def test_translate_table_1(self): for table in self.table_inputs: with self.subTest(table_input=table): translated = parsing.translate_table(self.metadata, table) self.assertTrue(translated in self.tables)
def get_table(metadata, table): table = parsing.translate_table(metadata, table) table_obj = metadata.tables[table] return table_obj
def test_translate_table_2(self): """Verify translate_table() raises ValueError from invalid table name. """ with self.assertRaises(ValueError): parsing.translate_table(self.metadata, "pham")
def test_translate_table_3(self): """Verify translate_table() returns case-sensitive table names. """ table = parsing.translate_table(self.metadata, "tRNA") self.assertEqual(table, "trna")
def test_translate_table_2(self): """Verify translate_table() returns case-sensitive table names. """ table = parsing.translate_table(self.metadata, "GENE") self.assertEqual(table, "gene")
def test_translate_table_1(self): """Verify translate_table() conserves case-sensitive table names. """ table = parsing.translate_table(self.metadata, "phage") self.assertEqual(table, "phage")