Ejemplo n.º 1
0
def drop_all():
    from trytond.backend import Database
    database = Database().connect()
    cursor = database.cursor()
    erase_cursor = database.cursor(autocommit=True)
    for db in database.list(cursor):
        print "Dropping database %s" % db
        database.drop(erase_cursor, db)
    erase_cursor.close()
    cursor.close()
Ejemplo n.º 2
0
def drop(database_name, password):
    security.check_super(password)
    Database(database_name).close()
    # Sleep to let connections close
    time.sleep(1)
    logger = logging.getLogger('database')

    database = Database().connect()
    cursor = database.cursor(autocommit=True)
    try:
        try:
            database.drop(cursor, database_name)
            cursor.commit()
        except Exception:
            logger.error('DROP DB: %s failed' % (database_name,))
            tb_s = ''.join(traceback.format_exception(*sys.exc_info()))
            logger.error('Exception in call: \n' + tb_s)
            raise
        else:
            logger.info('DROP DB: %s' % (database_name))
            Pool.stop(database_name)
    finally:
        cursor.close(close=True)
    return True