def define_tables(self, metadata): Table('table1', metadata, Column('id', Integer, primary_key=True), Column('data', String(30))) Table('table2', metadata, Column('id', Integer, primary_key=True), Column('someid', None, ForeignKey('table1.id')))
def define_tables(self, metadata): Table("extra", metadata, Column("id", Integer, Sequence("extra_id_seq", optional=True), primary_key=True), Column("prefs_id", Integer, ForeignKey("prefs.id"))) Table('prefs', metadata, Column('id', Integer, Sequence('prefs_id_seq', optional=True), primary_key=True), Column('data', String(40))) Table('users', metadata, Column('id', Integer, Sequence('user_id_seq', optional=True), primary_key=True), Column('name', String(40)), Column('pref_id', Integer, ForeignKey('prefs.id')))
def define_tables(self, metadata): Table('base', metadata, Column('uid', String(30), primary_key=True), Column('x', String(30))) Table( 'derived', metadata, Column('uid', String(30), ForeignKey('base.uid'), primary_key=True), Column('y', String(30))) Table( 'derivedII', metadata, Column('uid', String(30), ForeignKey('base.uid'), primary_key=True), Column('z', String(30))) Table('comments', metadata, Column('id', Integer, primary_key=True), Column('uid', String(30), ForeignKey('base.uid')), Column('comment', String(30)))
def define_tables(self, metadata): Table( 'node', metadata, Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column('path', String(50), nullable=False), Column('parent_id', Integer, ForeignKey('node.id'), nullable=True), Column('prev_sibling_id', Integer, ForeignKey('node.id'), nullable=True), Column('next_sibling_id', Integer, ForeignKey('node.id'), nullable=True))
def define_tables(self, metadata): Table('datas', metadata, Column('id', Integer, primary_key=True, nullable=False), Column('a', Integer, nullable=False)) Table( 'foo', metadata, Column('data_id', Integer, ForeignKey('datas.id'), nullable=False, primary_key=True), Column('bar', Integer)) Table('stats', metadata, Column('id', Integer, primary_key=True, nullable=False), Column('data_id', Integer, ForeignKey('datas.id')), Column('somedata', Integer, nullable=False))
def define_tables(self, metadata): Table( 'item', metadata, Column('id', Integer, primary_key=True), Column('uuid', String(32), unique=True, nullable=False), Column('parent_uuid', String(32), ForeignKey('item.uuid'), nullable=True))
def define_tables(self, metadata): Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String(40)), Column('fullname', String(100)), Column('password', String(15))) Table('addresses', metadata, Column('id', Integer, primary_key=True), Column('email_address', String(100), nullable=False), Column('user_id', Integer, ForeignKey('users.id')))
class Person(Base, ComparableEntity): __tablename__ = 'people' id = Column('id', Integer, primary_key=True) company_id = Column('company_id', Integer, ForeignKey('companies.id')) name = Column('name', String(50)) discriminator = Column('type', String(50)) __mapper_args__ = {'polymorphic_on':discriminator}
def define_tables(self, metadata): Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String(30)), Column('type', String(30))) Table('email_users', metadata, Column('id', Integer, ForeignKey('users.id'), primary_key=True), Column('email_address', String(30)))
def define_tables(self, metadata): Table( 't1', metadata, Column('c1', Integer, primary_key=True, test_needs_autoincrement=True), Column('parent_c1', Integer, ForeignKey('t1.c1')), Column('data', String(20))) Table( 't2', metadata, Column('c1', Integer, primary_key=True, test_needs_autoincrement=True), Column('c1id', Integer, ForeignKey('t1.c1')), Column('data', String(20)))
def define_tables(self, metadata): Table( 't1', metadata, Column('c1', Integer, primary_key=True, test_needs_autoincrement=True), Column('c2', Integer, ForeignKey('t2.c1'))) Table( 't2', metadata, Column('c1', Integer, primary_key=True, test_needs_autoincrement=True), Column('c2', Integer, ForeignKey('t1.c1', use_alter=True, name='t1c1_fk')))
def define_tables(self, metadata): Table('table_a', metadata, Column('id', Integer, primary_key=True), Column('name', String(30))) Table('table_b', metadata, Column('id', Integer, primary_key=True), Column('name', String(30)), Column('a_id', Integer, ForeignKey('table_a.id')))
class Address(Base): __tablename__ = 'addresses' id = Column('id', Integer, primary_key=True) email = Column('email', String(50)) user_id = Column('user_id', Integer, ForeignKey('users.id')) user = relation("User", primaryjoin=user_id == User.id, backref="addresses")
def test_with_inheritance(self): metadata = MetaData(testing.db) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True), Column('col2', String(30))) table2 = Table( "mytable2", metadata, Column('col1', Integer, ForeignKey('mytable.col1'), primary_key=True), Column('col3', String(30)), ) @profile_memory def go(): class A(_base.ComparableEntity): pass class B(A): pass mapper(A, table1, polymorphic_on=table1.c.col2, polymorphic_identity='a') mapper(B, table2, inherits=A, polymorphic_identity='b') sess = create_session() a1 = A() a2 = A() b1 = B(col3='b1') b2 = B(col3='b2') for x in [a1, a2, b1, b2]: sess.add(x) sess.flush() sess.clear() alist = sess.query(A).order_by(A.col1).all() self.assertEquals([A(), A(), B(col3='b1'), B(col3='b2')], alist) for a in alist: sess.delete(a) sess.flush() # dont need to clear_mappers() del B del A metadata.create_all() try: go() finally: metadata.drop_all() assert_no_mappers()
def test_session(self): metadata = MetaData(testing.db) table1 = Table("mytable", metadata, Column('col1', Integer, primary_key=True), Column('col2', String(30))) table2 = Table("mytable2", metadata, Column('col1', Integer, primary_key=True), Column('col2', String(30)), Column('col3', Integer, ForeignKey("mytable.col1"))) metadata.create_all() m1 = mapper(A, table1, properties={ "bs": relation(B, cascade="all, delete", order_by=table2.c.col1) }, order_by=table1.c.col1) m2 = mapper(B, table2) m3 = mapper(A, table1, non_primary=True) @profile_memory def go(): sess = create_session() a1 = A(col2="a1") a2 = A(col2="a2") a3 = A(col2="a3") a1.bs.append(B(col2="b1")) a1.bs.append(B(col2="b2")) a3.bs.append(B(col2="b3")) for x in [a1, a2, a3]: sess.add(x) sess.flush() sess.clear() alist = sess.query(A).all() self.assertEquals([ A(col2="a1", bs=[B(col2="b1"), B(col2="b2")]), A(col2="a2", bs=[]), A(col2="a3", bs=[B(col2="b3")]) ], alist) for a in alist: sess.delete(a) sess.flush() go() metadata.drop_all() del m1, m2, m3 assert_no_mappers()
def define_tables(self, metadata): Table( 'companies', metadata, Column('company_id', Integer, primary_key=True, test_needs_autoincrement=True), Column('company_name', String(40))) Table( 'addresses', metadata, Column('address_id', Integer, primary_key=True, test_needs_autoincrement=True), Column('company_id', Integer, ForeignKey("companies.company_id")), Column('address', String(40))) Table( 'phone_numbers', metadata, Column('phone_id', Integer, primary_key=True, test_needs_autoincrement=True), Column('address_id', Integer, ForeignKey('addresses.address_id')), Column('type', String(20)), Column('number', String(10))) Table( 'invoices', metadata, Column('invoice_id', Integer, primary_key=True, test_needs_autoincrement=True), Column('company_id', Integer, ForeignKey("companies.company_id")), Column('date', sa.DateTime)) Table( 'items', metadata, Column('item_id', Integer, primary_key=True, test_needs_autoincrement=True), Column('invoice_id', Integer, ForeignKey('invoices.invoice_id')), Column('code', String(20)), Column('qty', Integer))
def define_tables(self, metadata): Table('users_table', metadata, Column('id', Integer, primary_key=True), Column('name', String(64))) Table('addresses_table', metadata, Column('id', Integer, primary_key=True), Column('user_id', Integer, ForeignKey('users_table.id')), Column('email_address', String(128)), Column('purpose', String(16)), Column('bounces', Integer, default=0))
def test_autoincrement_fk(self): nodes = Table('nodes', self.metadata, Column('id', Integer, primary_key=True), Column('parent_id', Integer, ForeignKey('nodes.id')), Column('data', String(30))) nodes.create() r = nodes.insert().execute(data='foo') id_ = r.last_inserted_ids()[0] nodes.insert().execute(data='bar', parent_id=id_)
def define_tables(self, metadata): Table('addresses', metadata, Column('address_id', Integer, primary_key=True), Column('street', String(30)), ) Table('homes', metadata, Column('home_id', Integer, primary_key=True, key="id"), Column('description', String(30)), Column('address_id', Integer, ForeignKey('addresses.address_id'), nullable=False), ) Table('businesses', metadata, Column('business_id', Integer, primary_key=True, key="id"), Column('description', String(30), key="description"), Column('address_id', Integer, ForeignKey('addresses.address_id'), nullable=False), )
def define_tables(self, meta): Table('orders', meta, Column('id', Integer, Sequence('order_id_seq'), primary_key=True), Column('name', String(50))) Table('items', meta, Column('id', Integer, Sequence('item_id_seq'), primary_key=True), Column('order_id', Integer, ForeignKey('orders.id'), nullable=False), Column('name', String(50))) Table('attributes', meta, Column('id', Integer, Sequence('attribute_id_seq'), primary_key=True), Column('item_id', Integer, ForeignKey('items.id'), nullable=False), Column('name', String(50)))
def define_tables(self, metadata): Table('design_types', metadata, Column('design_type_id', Integer, primary_key=True)) Table( 'design', metadata, Column('design_id', Integer, primary_key=True), Column('design_type_id', Integer, ForeignKey('design_types.design_type_id'))) Table( 'parts', metadata, Column('part_id', Integer, primary_key=True), Column('design_id', Integer, ForeignKey('design.design_id')), Column('design_type_id', Integer, ForeignKey('design_types.design_type_id'))) Table('inherited_part', metadata, Column('ip_id', Integer, primary_key=True), Column('part_id', Integer, ForeignKey('parts.part_id')), Column('design_id', Integer, ForeignKey('design.design_id')))
def define_tables(self, metadata): Table('users', metadata, Column('id', Integer, primary_key=True), Column('username', String(50), unique=True), Column('fullname', String(100))) Table( 'addresses', metadata, Column('id', Integer, primary_key=True), Column('email', String(50)), Column('username', String(50), ForeignKey('users.username', onupdate="cascade")))
class Address(Base, ComparableEntity): __tablename__ = 'addresses' id = Column(Integer, primary_key=True) email = Column(String(50)) user_id = Column(Integer, ForeignKey('users.id')) if inline: if stringbased: user = relation("User", primaryjoin="User.id==Address.user_id", backref="addresses") else: user = relation(User, primaryjoin=User.id==user_id, backref="addresses")
def define_tables(self, meta): Table('sales_reps', meta, Column('sales_rep_id', Integer, Sequence('sales_rep_id_seq'), primary_key=True), Column('name', String(50))) Table('accounts', meta, Column('account_id', Integer, Sequence('account_id_seq'), primary_key=True), Column('balance', Integer)) Table('customers', meta, Column('customer_id', Integer, Sequence('customer_id_seq'), primary_key=True), Column('name', String(50)), Column('sales_rep_id', Integer, ForeignKey('sales_reps.sales_rep_id')), Column('account_id', Integer, ForeignKey('accounts.account_id')))
def define_tables(self, metadata): Table( 'ball', metadata, Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column( 'person_id', Integer, ForeignKey('person.id', use_alter=True, name='fk_person_id')), Column('data', String(30))) Table( 'person', metadata, Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column('favorite_ball_id', Integer, ForeignKey('ball.id')), Column('data', String(30)))
def define_tables(self, metadata): Table('departments', metadata, Column('department_id', Integer, primary_key=True), Column('name', String(50))) Table( 'employees', metadata, Column('person_id', Integer, primary_key=True), Column('name', String(50)), Column('department_id', Integer, ForeignKey('departments.department_id')))
def define_tables(self, metadata): Table('jack', metadata, Column('id', Integer, primary_key=True), Column('number', String(50)), Column('status', String(20)), Column('subroom', String(5))) Table('port', metadata, Column('id', Integer, primary_key=True), Column('name', String(30)), Column('description', String(100)), Column('jack_id', Integer, ForeignKey("jack.id")))
def define_tables(self, metadata): global users, addresses users = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String(50))) addresses = Table( 'addresses', metadata, Column('id', Integer, primary_key=True), Column('email', String(50)), Column('user_id', Integer, ForeignKey('users.id')), )
def define_tables(self, metadata): Table('users', metadata, Column('user_id', Integer, Sequence('user_id_seq', optional=True), primary_key=True), Column('name', String(40))) Table('addresses', metadata, Column('address_id', Integer, Sequence('address_id_seq', optional=True), primary_key=True), Column('user_id', Integer, ForeignKey('users.user_id')), Column('email_address', String(40)))
def define_tables(self, metadata): Table( 'place', metadata, Column('place_id', Integer, sa.Sequence('pid_seq', optional=True), primary_key=True), Column('name', String(30), nullable=False)) Table( 'transition', metadata, Column('transition_id', Integer, sa.Sequence('tid_seq', optional=True), primary_key=True), Column('name', String(30), nullable=False)) Table( 'place_thingy', metadata, Column('thingy_id', Integer, sa.Sequence('thid_seq', optional=True), primary_key=True), Column('place_id', Integer, ForeignKey('place.place_id'), nullable=False), Column('name', String(30), nullable=False)) # association table #1 Table( 'place_input', metadata, Column('place_id', Integer, ForeignKey('place.place_id')), Column('transition_id', Integer, ForeignKey('transition.transition_id'))) # association table #2 Table( 'place_output', metadata, Column('place_id', Integer, ForeignKey('place.place_id')), Column('transition_id', Integer, ForeignKey('transition.transition_id'))) Table('place_place', metadata, Column('pl1_id', Integer, ForeignKey('place.place_id')), Column('pl2_id', Integer, ForeignKey('place.place_id')))