X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fimporter%2Fsfa-nuke-plc.py;h=a4967c3692aba28bdd6462948be5197222a9b755;hb=2323eb5f54f6d958352b94e16119f1bfeda8dd07;hp=6cf583676018f5b4ef43c1325e7e4a38d6a92e3b;hpb=6f0a757c5adf47b4d222cec09514dcd688b93457;p=sfa.git diff --git a/sfa/importer/sfa-nuke-plc.py b/sfa/importer/sfa-nuke-plc.py index 6cf58367..a4967c36 100755 --- a/sfa/importer/sfa-nuke-plc.py +++ b/sfa/importer/sfa-nuke-plc.py @@ -13,8 +13,8 @@ from optparse import OptionParser from sfa.util.sfalogging import logger -from sfa.storage.alchemy import dbsession -from sfa.storage.persistentobjs import init_tables,drop_tables +from sfa.storage.alchemy import engine +from sfa.storage.dbschema import DBSchema def main(): usage="%prog: trash the registry DB" @@ -24,19 +24,20 @@ def main(): parser.add_option("-c","--certs",dest='clean_certs',action='store_true',default=False, help="Remove all cached certs/gids found in /var/lib/sfa/authorities area as well") parser.add_option("-0","--no-reinit",dest='reinit',action='store_false',default=True, - help="Do not reinitialize the database schema") + help="By default a new DB schema is installed after the cleanup; this option prevents that") (options,args)=parser.parse_args() if args: parser.print_help() sys.exit(1) + dbschema=DBSchema() logger.info("Purging SFA records from database") - drop_tables(dbsession) + dbschema.nuke() # for convenience we re-create the schema here, so there's no need for an explicit # service sfa restart # however in some (upgrade) scenarios this might be wrong if options.reinit: logger.info("re-creating empty schema") - init_tables(dbsession) + dbschema.init_or_upgrade() if options.clean_certs: # remove the server certificate and all gids found in /var/lib/sfa/authorities