source: cows_wps/trunk/cows_wps/model/orm/tables.py @ 7115

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cows_wps/trunk/cows_wps/model/orm/tables.py@7115
Revision 7115, 1.6 KB checked in by astephen, 10 years ago (diff)

more work on admin interface etc.

Line 
1"""
2Classes representing the database tables.
3
4"""
5
6from sqlalchemy import Table, Column, MetaData, ForeignKey
7from sqlalchemy import Integer, String, DateTime, Text, Binary, DateTime
8
9metadata = MetaData()
10
11MAX_REQUEST_ID_LENGTH = 32
12MAX_USER_ID_LENGTH = 32
13
14REQUEST_ID_TYPE = String(MAX_REQUEST_ID_LENGTH)
15USER_ID_TYPE = String(MAX_USER_ID_LENGTH)
16PROCESS_TYPE = String(64)
17CACHE_KEY_TYPE = Text
18
19request = Table('request', metadata,
20                Column('id', REQUEST_ID_TYPE, primary_key=True),
21                Column('user_id', USER_ID_TYPE, index=True),
22                Column('job_id', Integer, ForeignKey('job.job_id'), index=True)
23)
24
25job = Table('job', metadata,
26            Column('job_id', Integer, primary_key=True),
27            Column('process', PROCESS_TYPE, index=True),
28            Column('process_dir', Text),
29            Column('status', String(16)),
30            Column('type', Integer),
31            Column('created', DateTime),
32)
33
34sge_job = Table('sge_job', metadata,
35                Column('job_id', Integer, ForeignKey('job.job_id'), primary_key=True),
36                Column('sge_id', Integer),
37                Column('sge_queue', String(64)),
38                Column('last_polled', DateTime),
39)
40
41cache = Table('cache', metadata,
42              Column('id', Integer, primary_key=True),
43              Column('key', Text),
44              Column('key_hash', Binary(16), index=True),
45              Column('job_id', Integer, ForeignKey('job.job_id')),
46)
47
48admin = Table('admin', metadata,
49        Column('admin_name', String(16), primary_key = True),
50        Column('admin_password', String(16)))
Note: See TracBrowser for help on using the repository browser.