-server/* .
+sipb-xen-database-tables usr/bin
--- /dev/null
+#!/bin/sh
+# postinst script for #PACKAGE#
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ configure)
+ # Don't fail if the user/database already exists
+ su postgres -c 'createuser sipb-xen -S -d -R' || true
+ su postgres -c 'createdb sipb_xen -O sipb-xen' || true
+ PG_HBA=/etc/postgresql/8.1/main/pg_hba.conf
+ perl -ni -e 'print unless /^# ===BEGIN ADDED BY sipb-xen-dabase server$/ ..
+ /^# ===END ADDED BY sipb-xen-dabase server$/' \
+ "$PG_HBA"
+ cat<<EOF >> "$PG_HBA"
+# ===BEGIN ADDED BY sipb-xen-dabase server
+# DO NOT EDIT
+host sipb_xen sipb-xen 127.0.0.1/32 trust
+local sipb_xen sipb-xen trust
+# ===END ADDED BY sipb-xen-dabase server
+EOF
+
+ if hash invoke-rc.d; then
+ invoke-rc.d postgresql-8.1 restart
+ else
+ /etc/init.d/postgresql-8.1 restart
+ fi
+
+ sipb-xen-database-tables create
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null
+#!/bin/sh
+# prerm script for #PACKAGE#
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ remove|upgrade|deconfigure)
+
+ # This will destroy data -- do we want to do this?
+ # su postgres -c 'dropdb sipb_xen'
+ # su postgres -c 'dropuser sipb-xen'
+ PG_HBA=/etc/postgresql/8.1/main/pg_hba.conf
+ perl -ni -e 'print unless /^# ===BEGIN ADDED BY sipb-xen-dabase server$/ ..
+ /^# ===END ADDED BY sipb-xen-dabase server$/' \
+ "$PG_HBA"
+
+ if hash invoke-rc.d; then
+ invoke-rc.d postgresql-8.1 restart
+ else
+ /etc/init.d/postgresql-8.1 restart
+ fi
+ ;;
+
+ failed-upgrade)
+ ;;
+
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
--- /dev/null
+#!/usr/bin/env python
+
+from sipb_xen_database import *
+import sys
+
+def usage():
+ print >>sys.stderr, "Usage: %s [create|drop]" %(sys.argv[0],)
+ sys.exit(-1)
+
+if len(sys.argv) == 1:
+ usage()
+
+connect('postgres://sipb-xen@localhost/sipb_xen')
+
+if sys.argv[1] == "create":
+ meta.create_all()
+else:
+ meta.drop_all()
+from models import *
+
+def connect(uri):
+ """ Connect to a given database URI"""
+ meta.connect(uri)
from sqlalchemy.ext.sessioncontext import SessionContext
from sqlalchemy.ext.assignmapper import assign_mapper
+__all__ = ['meta',
+ 'ctx',
+ 'machine_table',
+ 'nic_table',
+ 'disk_table',
+ 'types_table',
+ 'Machine',
+ 'NIC',
+ 'Disk',
+ 'Type']
+
meta = DynamicMetaData()
ctx = SessionContext(create_session)