File: db.py

package info (click to toggle)
pyamf 0.6.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 7,692 kB
  • sloc: python: 17,944; xml: 455; makefile: 116; sql: 38; java: 11; sh: 7
file content (41 lines) | stat: -rw-r--r-- 1,022 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Copyright (c) The PyAMF Project.
# See LICENSE.txt for details.

"""
Defines the database schema.

@since: 0.1.0
"""

import os, datetime

from sqlalchemy import *

metadata = MetaData()

dsn = 'sqlite:///temp.db'

if 'RECORDSET_DSN' in os.environ:
    dsn = os.environ['RECORDSET_DSN']

language = Table('languages', metadata,
    Column('ID', String(10), primary_key=True),
    Column('Description', String(255), nullable=True, default=None),
    Column('Name', String(50), nullable=True, default=None),
)

software = Table('SoftwareInfo', metadata,
    Column('ID', Integer, primary_key=True, autoincrement=True),
    Column('Name', Text),
    Column('Active', Boolean, default=True),
    Column('Details', String(255), nullable=True, default=None),
    Column('CategoryID', String(50), nullable=True, default=None),
    Column('Url', String(255), nullable=True, default=None)
)

def get_engine():
    return create_engine(dsn)

def create(engine):
    print "Creating tables..."
    metadata.create_all(bind=engine)