From 13535926abca3792c3f3e24a7bf972f2e42a3096 Mon Sep 17 00:00:00 2001 From: Gustavo Lopes Date: Tue, 15 May 2018 17:55:50 -0300 Subject: [PATCH] Gerando dump com comando python dumpdata em json Resolves #465 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Felipe Osório Co-authored-by: Harrison Pedro --- radar_parlamentar/cron/jobs.py | 9 +++++++-- radar_parlamentar/radar_parlamentar/settings.py | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/radar_parlamentar/cron/jobs.py b/radar_parlamentar/cron/jobs.py index f167c8fd..17975e92 100644 --- a/radar_parlamentar/cron/jobs.py +++ b/radar_parlamentar/cron/jobs.py @@ -97,7 +97,10 @@ def do(self): logger.info('DbDumperJob foi chamado.') weekday = date.today().weekday() # segunda é o zero + dumper = DbDumper() + dumper.dump() if weekday == 0: + logger.info('DbDumperJob fazendo dump do banco.') else: logger.info('Hoje não é o dia. DbDumperJob só trabalha às segundas.') @@ -115,10 +118,12 @@ class DbDumper(): # Teste de DbDumper: 1o apaga arquivo se existir, executa, verifica se arquivo foi criado # publicar radar/base no docker hub - DUMP_FILE = "/radar/radar_parlamentar/radar_parlamentar/static/db-dump/radar.sql" + DUMP_FILE = "/radar/radar_parlamentar/radar_parlamentar/static/db-dump/radar.json" def dump(self): - dump_command = 'pg_dump -h postgres -U radar -d radar -W --inserts -t modelagem_* -f %s' % DbDumper.DUMP_FILE + dump_command = 'python manage.py dumpdata --indent 2 \ + --exclude auth.permission --exclude contenttypes\ + > %s' % DbDumper.DUMP_FILE os.system(dump_command) #compress_command = 'bzip2 -9 -f %s' % DbDumper.DUMP_FILE #os.system(compress_command) diff --git a/radar_parlamentar/radar_parlamentar/settings.py b/radar_parlamentar/radar_parlamentar/settings.py index b0160709..d8f27ee1 100644 --- a/radar_parlamentar/radar_parlamentar/settings.py +++ b/radar_parlamentar/radar_parlamentar/settings.py @@ -230,6 +230,7 @@ CRON_CLASSES = [ 'cron.jobs.ImportadorJob', + 'cron.jobs.DbDumperJob' ] if os.getenv('RADAR_TEST'):