Browse Source

Fix #1784 migrate

pull/1834/head
Talitha 8 years ago
parent
commit
8c7355c982
  1. 30
      sapl/parlamentares/migrations/0007_adiciona_partidos.py
  2. 39
      sapl/parlamentares/migrations/0023_auto_20180626_1524.py

30
sapl/parlamentares/migrations/0007_adiciona_partidos.py

@ -1,40 +1,16 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
import json
import os
from django.core.management import call_command
from django.db import migrations
def gera_partidos_tse(apps, schema_editor):
Partido = apps.get_model("parlamentares", "Partido")
db_alias = schema_editor.connection.alias
partidos = Partido.objects.all().exists()
if partidos:
# Caso haja algum partido cadastrado na base de dados,
# a migração não deve ser carregada para evitar duplicações de dados.
print("Carga de Partido não efetuada. Já Existem partidos cadastrados...")
else:
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures'))
# pega partidos listados em fixtures/pre_popula_partidos.json
fixture_filename = 'pre_popula_partidos.json'
fixture_file = os.path.join(fixture_dir, fixture_filename)
call_command('loaddata', fixture_file, ignorenonexistent=True)
# Conteúdo removido para bug fix da issue #1784 (https://github.com/interlegis/sapl/issues/1784)
# Conteúdo agora se encontra na migration 0023_auto_20180626_1524.py
class Migration(migrations.Migration):
dependencies = [
# A dependencia real desse script é o arquivo 0001_initial.py, mas
# isso gera um erro (Conflicting migrations detected; multiple leaf
# nodes in the migration graph). para não ocasionar problemas de migração,
# vamos manter a ordem padrão do django.
('parlamentares', '0006_auto_20170831_1400'),
]
operations = [
migrations.RunPython(gera_partidos_tse),
]

39
sapl/parlamentares/migrations/0023_auto_20180626_1524.py

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
import json
import os
from django.core.management import call_command
def gera_partidos_tse(apps, schema_editor):
Partido = apps.get_model("parlamentares", "Partido")
db_alias = schema_editor.connection.alias
partidos = Partido.objects.all().exists()
if partidos:
# Caso haja algum partido cadastrado na base de dados,
# a migração não deve ser carregada para evitar duplicações de dados.
print("Carga de Partido não efetuada. Já Existem partidos cadastrados...")
else:
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures'))
# pega partidos listados em fixtures/pre_popula_partidos.json
fixture_filename = 'pre_popula_partidos.json'
fixture_file = os.path.join(fixture_dir, fixture_filename)
call_command('loaddata', fixture_file, ignorenonexistent=True)
class Migration(migrations.Migration):
dependencies = [
# A dependencia real desse script é o arquivo 0001_initial.py, mas
# isso gera um erro (Conflicting migrations detected; multiple leaf
# nodes in the migration graph). para não ocasionar problemas de migração,
# vamos manter a ordem padrão do django.
('parlamentares', '0022_partido_observacao'),
]
operations = [
migrations.RunPython(gera_partidos_tse),
]
Loading…
Cancel
Save