merge master again (2.0-10 changelog only)
[sfa.git] / sfa / importer / sfa-nuke-plc.py
index 83c9e4b..a4967c3 100755 (executable)
@@ -13,8 +13,8 @@ from optparse import OptionParser
 
 from sfa.util.sfalogging import logger
 
-from sfa.storage.alchemy import dbsession
-from sfa.storage.model 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