parser = OptionParser(usage=usage) parser.add_option("-d", "--db", dest="db", default=None, help="database to manage, in URI format") parser.add_option("--version", dest="version", default=None, type="int", help="Create/upgrade to this specific schema version rather than the latest.") options, args = parser.parse_args() if not options.db: parser.error("db is required") if len(args) < 1: parser.error("need an action to perform") action = args[0] db = AUSDatabase(options.db, mysql_traditional_mode=True) if action == 'create': db.create(options.version) elif action == 'upgrade': db.upgrade(options.version) elif action == 'downgrade': db.downgrade(options.version) elif action.startswith("cleanup"): if len(args) < 2: parser.error("need to pass maximum nightly release age") nightly_age = int(args[1]) with db.begin() as trans: if action == "cleanup": cleanup_releases(trans, nightly_age, dryrun=False) cleanup_releases_history(trans, dryrun=False) else: cleanup_releases(trans, nightly_age, dryrun=True) cleanup_releases_history(trans, dryrun=True)
parser.add_option("-d", "--db", dest="db", default=None, help="database to manage, in URI format") parser.add_option("--version", dest="version", default=None, type="int", help="Create/upgrade to this specific schema version rather than the latest.") options, args = parser.parse_args() if not options.db: parser.error("db is required") if len(args) < 1: parser.error("need an action to perform") action = args[0] db = AUSDatabase(options.db, mysql_traditional_mode=True) if action == "create": db.create(options.version) elif action == "upgrade": db.upgrade(options.version) elif action == "downgrade": db.downgrade(options.version) elif action == "extract": with db.begin() as trans: if len(args) < 2: extract_active_data(trans, options.db) else: location = args[1] extract_active_data(trans, options.db, location) elif action.startswith("cleanup"): if len(args) < 2: parser.error("need to pass maximum nightly release age") nightly_age = int(args[1]) with db.begin() as trans: if action == "cleanup":