source: trunk/packages/sipb-xen-database/sipb-xen-database/sipb_xen_database/models.py @ 13

Last change on this file since 13 was 13, checked in by nelhage, 17 years ago

Adding a sqlaclhemy schema module

File size: 1.5 KB
Line 
1from sqlalchemy import *
2
3meta = DynamicMetaData()
4
5machine_table = Table('machines', meta,
6       Column('machine_id', Integer, primary_key=True, nullable=False),
7       Column('name', String, nullable=False),
8       Column('memory', Integer, nullable=False),
9       Column('owner', String, nullable=False),
10       Column('contact', String, nullable=False),
11       Column('uuid', String, nullable=False),
12       Column('boot_off_cd', Boolean, nullable=False, default=False),
13       Column('type_id', String, ForeignKey('types.type_id'), nullable=False),
14       Column('autorestart', Boolean, nullable=False, default=False),
15       Column('cpus', Integer, nullable=False, default=1))
16
17nic_table = Table('nics', meta,
18       Column('machine_id', Integer, ForeignKey('machines.machine_id'), nullable=True),
19       Column('mac_addr', String, nullable=False),
20       Column('hostname', String, nullable=False))
21
22disk_table = Table('disks', meta,
23       Column('machine_id', Integer, ForeignKey('machines.machine_id'), nullable=False),
24       Column('guest_device_name', String, nullable=False),
25       Column('size', Integer, nullable=False),
26       PrimaryKeyConstraint('machine_id', 'guest_device_name'))
27
28types_table = Table('types', meta,
29       Column('type_id', String, primary_key=True, nullable=False),
30       Column('description', String, nullable=False),
31       Column('apic', Boolean, nullable=False),
32       Column('acpi', Boolean, nullable=False),
33       Column('pae', Boolean, nullable=False))
34
Note: See TracBrowser for help on using the repository browser.