#!/usr/bin/env python # # kforge database commands # import os import sys import optparse import kforge.utils.db import kforge.system from kforge.exceptions import * def createDatabaseStructure(): print 'Creating system domain model objects: ....' import kforge.command.initialise createCommand = kforge.command.initialise.InitialiseDomainModel() try: createCommand.execute() except KforgeCommandError, inst: print "Failed: %s" % str(inst) sys.exit(1) if __name__ == '__main__': usage = 'usage: %prog [options] create|delete|rebuild' usage += '\n\t values for dbname, dbuser and relevant options taken ' + \ 'from kforge.conf' parser = optparse.OptionParser(usage) parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False, help='Be verbose in printing status messages' ) (options, args) = parser.parse_args() if args[0] == 'create': print 'Creating all database tables: ....' kforge.utils.db.create() createDatabaseStructure() elif args[0] == 'delete': print 'Deleting all database tables: ....' kforge.utils.db.delete() elif args[0] == 'rebuild': try: # wrap to allow for case where db already does not exist print 'Deleting all database tables: ....' kforge.utils.db.delete() except: pass print 'Creating all database tables: ....' kforge.utils.db.create() createDatabaseStructure() else: print 'ERROR: Sorry, that command is not recognized\n' parser.print_help()