parser = ArgumentParser() parser.add_argument("--db", dest="db", help="The database to use, in URI format. Incompatible with --ini.") parser.add_argument("--ini", dest="ini", help="The config file to look for the database in. Incompatible with --db.") parser.add_argument("--name", dest="name", required=True, help="The name of the person/script doing the migrations.") parser.add_argument("releases", metavar="release", nargs="+", help="The releases (aka blob names) to migrate.") args = parser.parse_args() if args.db and args.ini: parser.error("Cannot specify --db and --ini!") if args.ini: cfg = AdminConfig(args.ini) db = AUSDatabase(cfg.getDburi()) db.setDomainWhitelist(cfg.getDomainWhitelist()) else: db = AUSDatabase(args.db) for release in args.releases: try: rel = db.releases.getReleases(name=release)[0] blob = rel["data"] except: log.debug("No such release '%s', skipping", release) if blob["schema_version"] == 4: log.debug("%s is already schema 4, skipping", release) continue elif blob["schema_version"] != 3: log.debug("%s is not schema 3, can't upgrade it", release)
required=True, help="The name of the person/script doing the migrations.") parser.add_argument("releases", metavar="release", nargs="+", help="The releases (aka blob names) to migrate.") args = parser.parse_args() if args.db and args.ini: parser.error("Cannot specify --db and --ini!") if args.ini: cfg = AdminConfig(args.ini) db = AUSDatabase(cfg.getDburi()) db.setDomainWhitelist(cfg.getDomainWhitelist()) else: db = AUSDatabase(args.db) for release in args.releases: try: rel = db.releases.getReleases(name=release)[0] blob = rel["data"] except: log.debug("No such release '%s', skipping", release) if blob["schema_version"] == 4: log.debug("%s is already schema 4, skipping", release) continue elif blob["schema_version"] != 3: log.debug("%s is not schema 3, can't upgrade it", release)