Browse Source

Verifica se há os IDs e Materias antes da execução

pull/1596/head
João Pedro Sconetto 7 years ago
committed by Marcio Mazza
parent
commit
f47d8d2b17
  1. 22
      sapl/legacy/migration.py

22
sapl/legacy/migration.py

@ -211,8 +211,8 @@ def migra_autor():
''' '''
SQL_UPDATE_DOCUMENTO_ADMINISTRATIVO = ''' SQL_UPDATE_DOCUMENTO_ADMINISTRATIVO = '''
update documento_administrativo update documento_administrativo
set cod_autor = {} set cod_autor = {}
where cod_autor in ({}); where cod_autor in ({});
''' '''
@ -228,7 +228,7 @@ def migra_autor():
where cod_autor in ({}); where cod_autor in ({});
''' '''
#cursor = exec_legado('update autor set ind_excluido = null;') cursor = exec_legado('update autor set ind_excluido = 0;')
cursor = exec_legado(SQL_ENUMERA_REPETIDOS) cursor = exec_legado(SQL_ENUMERA_REPETIDOS)
autores_parlamentares = [r[0] for r in cursor if r[0]] autores_parlamentares = [r[0] for r in cursor if r[0]]
@ -252,7 +252,7 @@ def migra_autor():
tabelas = ['autoria', 'documento_administrativo', tabelas = ['autoria', 'documento_administrativo',
'proposicao', 'protocolo'] 'proposicao', 'protocolo']
for tabela in tabelas: for tabela in tabelas:
if tabela == 'autoria': if tabela == 'autoria' and id_ativo and ids_inativos:
# Para update e delete no MySQL -> SET SQL_SAFE_UPDATES = 0; # Para update e delete no MySQL -> SET SQL_SAFE_UPDATES = 0;
sql = SQL_ENUMERA_AUTORIA_REPETIDOS.format(ids) sql = SQL_ENUMERA_AUTORIA_REPETIDOS.format(ids)
cursor = exec_legado(sql) cursor = exec_legado(sql)
@ -262,22 +262,22 @@ def migra_autor():
materias.append(response[0]) materias.append(response[0])
materias = str(materias).strip('[]') materias = str(materias).strip('[]')
if materias:
sql = SQL_DELETE_AUTORIA.format(materias, ids_inativos) sql = SQL_DELETE_AUTORIA.format(materias, ids_inativos)
exec_legado(sql) exec_legado(sql)
sql = SQL_UPDATE_AUTOR.format(id_ativo, ids_inativos) sql = SQL_UPDATE_AUTOR.format(id_ativo, ids_inativos)
exec_legado(sql) exec_legado(sql)
elif tabela == 'documento_administrativo': elif tabela == 'documento_administrativo' and id_ativo and ids_inativos:
sql = SQL_UPDATE_DOCUMENTO_ADMINISTRATIVO.format(id_ativo, ids_inativos) sql = SQL_UPDATE_DOCUMENTO_ADMINISTRATIVO.format(id_ativo, ids_inativos)
exec_legado(sql) exec_legado(sql)
elif tabela == 'proposicao': elif tabela == 'proposicao' and id_ativo and ids_inativos:
sql = SQL_UPDATE_PROPOSICAO.format(id_ativo, ids_inativos) sql = SQL_UPDATE_PROPOSICAO.format(id_ativo, ids_inativos)
exec_legado(sql) exec_legado(sql)
elif tabela == 'protocolo': elif tabela == 'protocolo' and id_ativo and ids_inativos:
sql = SQL_UPDATE_PROTOCOLO.format(id_ativo, ids_inativos) sql = SQL_UPDATE_PROTOCOLO.format(id_ativo, ids_inativos)
exec_legado(sql) exec_legado(sql)
@ -362,6 +362,8 @@ relatoria | tip_fim_relatoria = NULL | tip_fim_relatoria = 0
spec = spec.split('|') spec = spec.split('|')
exec_legado('UPDATE {} SET {} WHERE {}'.format(*spec)) exec_legado('UPDATE {} SET {} WHERE {}'.format(*spec))
migra_autor() # Migra autores para um único autor
def iter_sql_records(sql, db): def iter_sql_records(sql, db):
class Record: class Record:

Loading…
Cancel
Save