Guest User

Untitled

a guest
Jul 23rd, 2011
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.21 KB | None | 0 0
  1. person_table = Table("persons", meta,
  2.     Column('id', Integer, primary_key=True),
  3.     Column('client_id', Integer, ForeignKey(clients.c.id), nullable=False),
  4.     Column('fullname', String(length=255), index=True),
  5.     mysql_engine='InnoDB',
  6.     mysql_charset='utf8'
  7.  
  8.     )
  9.  
  10.  
  11. tasks_table = Table("tasks", meta,
  12.     Column('id', Integer, primary_key=True),
  13.     Column('client_id', Integer, ForeignKey(clients.c.id), nullable=False, index=True),
  14.     Column('type_id', Integer, ForeignKey(tasktypes_table.c.id),
  15.         index=True, nullable=False),
  16.     Column('deal_id', Integer, ForeignKey(deal_table.c.id), index=True),
  17.     Column('minutes', Integer, nullable=False, default=0),
  18.     Column('closed', Boolean, nullable=False, default=False, index=True),
  19.     Column('deleted', Boolean, nullable=False, default=False, index=True),
  20.     Column('alert', Boolean, nullable=False, default=False, index=True),
  21.     Column('address', String(255), nullable=False, default='', index=True),
  22.     Column('time', DateTime),
  23.     Column('has_date', Boolean, nullable=False, default=False),
  24.     Column('has_time', Boolean, nullable=False, default=False),
  25.     Column('descr', Text),
  26.     Column('result', Text, default='', nullable=False),
  27.     mysql_engine='InnoDB',
  28.     mysql_charset='utf8'
  29.     )
  30.  
  31.  
  32. tasks_contacts_table = Table('tasks_contacts', meta,
  33.     Column('id', Integer, primary_key=True),
  34.     Column('contact_id', Integer, ForeignKey(person_table.c.id), index=True),
  35.     Column('task_id', Integer, ForeignKey(tasks_table.c.id), index=True),
  36.     UniqueConstraint('contact_id', 'task_id'),
  37.     ForeignKeyConstraint(
  38.         columns=["task_id"], refcolumns=[tasks_table.c.id],
  39.         onupdate="CASCADE", ondelete="CASCADE"),
  40.     ForeignKeyConstraint(
  41.         columns=["contact_id"], refcolumns=[person_table.c.id],
  42.         onupdate="CASCADE", ondelete="CASCADE"),
  43.     mysql_engine='InnoDB',
  44.     mysql_charset='utf8'
  45.     )
  46.  
  47.  
  48.  
  49. mapper(Task, tasks_table, properties={
  50.     'type': relationship(TaskType),
  51.     'contacts': relationship(Person,
  52.         primaryjoin=tasks_contacts_table.c.task_id == tasks_table.c.id,
  53.         secondary=tasks_contacts_table,
  54.         secondaryjoin=person_table.c.id == tasks_contacts_table.c.contact_id)})
Advertisement
Add Comment
Please, Sign In to add comment