diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index 626ce6e..38bb216 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -1573,6 +1573,24 @@ def crear_db(nombre): return False +def _backup_db(user): + dt = datetime.datetime.now().strftime('%y%m%d_%H%M') + path_bk = _join(PATH_MEDIA, 'tmp', '{}_{}.bk'.format(user, dt)) + args = 'pg_dump -U postgres -Fc {} > "{}"'.format(user, path_bk) + _call(args) + return + + +def delete_db(user, bk=True): + if bk: + _backup_db(user) + args = 'psql -U postgres -c "DROP DATABASE {0};"'.format(user) + _call(args) + args = 'psql -U postgres -c "DROP ROLE {0};"'.format(user) + _call(args) + return + + def _to_seafile(path_db, data): if DEBUG: return diff --git a/source/app/models/main.py b/source/app/models/main.py index 521a598..8516846 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -5325,6 +5325,7 @@ def _borrar_rfc(): confirm = input('¿Estás seguro de borrar el RFC?') if _delete_emisor(rfc): + util.delete_db(rfc.lower()) log.info('RFC borrado correctamente...') return @@ -5393,7 +5394,9 @@ def empresa_agregar(rfc, no_bd): def empresa_borrar(rfc): - return _delete_emisor(rfc) + if _delete_emisor(rfc): + util.delete_db(rfc.lower()) + return True def _importar_valores(archivo='', rfc=''):