def alterTB(database, old, new):
    dbs[database][new] = dbs[database].pop(old)
    renombrarCarpeta('{}/{}.bin'.format(database, old), '{}/{}.bin'.format(database, new))
    data[database].remove(old)
    data[database].append(new)
    hacerCommit(data,"databases")
    return 0
def dropTB(database, table):
    dbs[database].pop(table)
    data[database].remove(table)
    removerArchivo('{}/{}.bin'.format(database, table))
    hacerCommit(data,"databases")
    return 0
def insertTable(bd, table, new:Estructura):
    dbs[bd][table] = new
    data[bd].append(table)
    hacerCommit(new,'{}/{}'.format(bd, table))
    hacerCommit(data, 'databases')
    return 0
def alterDB(old, new):
    dbs[new] = dbs.pop(old)
    data[new] = data.pop(old)
    renombrarCarpeta(old, new)
    hacerCommit(data,"databases")
    return 0
def dropDB(bd):
    dbs.pop(bd)
    data.pop(bd)
    removerCarpeta(bd)
    hacerCommit(data,"databases")
    return 0
def dropColumn(database: str, table: str, columnNumber: int):
    result =  dbs[database][table].drop(columnNumber)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def insertDB(bd):
    dbs[bd] = {}
    data[bd] = []
    crearCarpeta(bd)
    hacerCommit(data,"databases")
    return 0
def deleteRegistro(database: str, table: str, columns: list):
    result = dbs[database][table].delete(columns)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def addColumn(database: str, table: str, default: any):
    result =  dbs[database][table].add(default)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def truncateRegistros(database: str, table: str):
    result = dbs[database][table].truncate() 
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def updateRegistro(database: str, table: str, register: dict, columns: list):
    result = dbs[database][table].update(register, columns)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def insertRegistro(database: str, table: str, register: list):
    result =  dbs[database][table].insert(register)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def alterDPK(database: str, table: str):
    result =  dbs[database][table].delPK()
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result
def alterAPK(database: str, table: str, columns: list):
    result = dbs[database][table].setPK(columns)
    hacerCommit(dbs[database][table],'{}/{}'.format(database, table))
    return result