def create_example_link_satellite(table1_number, table2_number, **properties): link_satellite = create_typed_table( Table('dv', f'example_{table1_number}_{table2_number}_l_s', [ Column(f'example_{table1_number}_{table2_number}_l_key', 'text'), Column('load_dts', 'numeric'), Column('effective_ts', 'numeric'), Column('rec_src', 'text'), ], **properties)) link_satellite.check() return link_satellite
def create_example_version_pointer(table1_number, table2_number, **properties): version_pointer = create_typed_table( Table('dv', f'example_{table1_number}_{table2_number}_vp', [ Column(f'example{table1_number}_m_key', 'text'), Column(f'example{table2_number}_c_key', 'text'), Column(f'example{table2_number}_c_load_dts', 'numeric'), Column('load_dts', 'numeric'), ], **properties)) version_pointer.check() return version_pointer
def create_customer_h(self, **properties): target_table = create_typed_table( Table('db', 'customer_h', [ Column('customer_key', 'text'), Column('ssn', 'text'), Column('load_dts', 'numeric'), Column('rec_src', 'text'), ], **properties)) target_table.check() return target_table
def create_example_hub(table_number="", **properties): hub = create_typed_table( Table('dv', f'example{table_number}_h', [ Column(f'example{table_number}_key', 'text'), Column('example_id1', 'text'), Column('example_id2', 'numeric'), Column('load_dts', 'numeric'), Column('rec_src', 'text'), ], **properties)) hub.check() return hub
def create_example_satellite(self, table_number="", **properties): satellite = create_typed_table( Table('dv', f'example{table_number}_s', [ Column(f'example{table_number}_key', 'text'), Column('load_dts', 'numeric'), Column('attribute1', 'text'), Column('attribute2', 'numeric'), Column('rec_src', 'text'), ], **properties)) satellite.check() return satellite
def create_example_link(self, **properties): link = create_typed_table( Table('dv', 'example_l', [ Column('example_l_key', 'text'), Column('example1_key', 'text'), Column('example2_key', 'text'), Column('load_dts', 'numeric'), Column('rec_src', 'text'), ], **properties)) link.check() return link
def test_table_from_columns(self): orig_columns = [ dict(name='key', type='numeric'), dict(name='field1', type='text'), dict(name='field2', type='numeric'), dict(name='#generate_type', type='table'), dict(name='#other_meta', type='foo'), ] table = Table.from_columns('db', 'test_table', orig_columns) self.assertEqual(table.properties, { 'generate_type': 'table', 'other_meta': 'foo' }) expected = [ Column('key', 'numeric', table), Column('field1', 'text', table), Column('field2', 'numeric', table), ] self.assertEqual(table.columns, expected)