Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

337 lines
26 KiB

# -*- coding: utf-8 -*-
# Generated by Django 1.9.12 on 2017-03-25 11:14
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('contenttypes', '0002_remove_content_type_name'),
]
operations = [
migrations.CreateModel(
name='Dispositivo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
('ordem', models.PositiveIntegerField(default=0, verbose_name='Ordem de Renderização')),
('ordem_bloco_atualizador', models.PositiveIntegerField(default=0, verbose_name='Ordem de Renderização no Bloco Atualizador')),
('nivel', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Nível Estrutural')),
('dispositivo0', models.PositiveIntegerField(default=0, verbose_name='Número do Dispositivo')),
('dispositivo1', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Primeiro Nível de Variação')),
('dispositivo2', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Segundo Nível de Variação')),
('dispositivo3', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Terceiro Nível de Variação')),
('dispositivo4', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Quarto Nível de Variação')),
('dispositivo5', models.PositiveIntegerField(blank=True, default=0, null=True, verbose_name='Quinto Nível de Variação')),
('rotulo', models.CharField(blank=True, default='', max_length=50, verbose_name='Rótulo')),
('texto', models.TextField(blank=True, default='', verbose_name='Texto do Dispositivo')),
('texto_atualizador', models.TextField(blank=True, default='', verbose_name='Texto do Dispositivo no Dispositivo Atualizador')),
('inicio_vigencia', models.DateField(verbose_name='Início de Vigência')),
('fim_vigencia', models.DateField(blank=True, null=True, verbose_name='Fim de Vigência')),
('inicio_eficacia', models.DateField(verbose_name='Início de Eficácia')),
('fim_eficacia', models.DateField(blank=True, null=True, verbose_name='Fim de Eficácia')),
('inconstitucionalidade', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Declarado Inconstitucional')),
('auto_inserido', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Auto Inserido')),
('visibilidade', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Visibilidade no Texto Articulado Publicado')),
('dispositivo_de_revogacao', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Dispositivo de Revogação')),
('dispositivo_atualizador', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dispositivos_alterados_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Atualizador')),
('dispositivo_pai', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='dispositivos_filhos_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Pai')),
('dispositivo_subsequente', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dispositivo_subsequente_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Subsequente')),
('dispositivo_substituido', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dispositivo_substituido_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Substituido')),
('dispositivo_vigencia', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dispositivos_vigencias_set', to='compilacao.Dispositivo', verbose_name='Dispositivo de Vigência')),
],
options={
'permissions': (('change_dispositivo_edicao_dinamica', 'Permissão de edição de dispositivos originais via editor dinâmico.'), ('change_your_dispositivo_edicao_dinamica', 'Permissão de edição de dispositivos originais via editor dinâmico desde que seja dono.'), ('change_dispositivo_edicao_avancada', 'Permissão de edição de dispositivos originais via formulários de edição avançada.'), ('change_dispositivo_registros_compilacao', 'Permissão de registro de compilação via editor dinâmico.'), ('view_dispositivo_notificacoes', 'Permissão de acesso às notificações de pendências.'), ('change_dispositivo_de_vigencia_global', 'Permissão alteração global do dispositivo de vigência')),
'ordering': ['ta', 'ordem'],
'verbose_name': 'Dispositivo',
'verbose_name_plural': 'Dispositivos',
},
),
migrations.CreateModel(
name='Nota',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
('titulo', models.CharField(blank=True, default='', max_length=100, verbose_name='Título')),
('texto', models.TextField(verbose_name='Texto')),
('url_externa', models.URLField(blank=True, max_length=1024, verbose_name='Url externa')),
('publicacao', models.DateTimeField(verbose_name='Data de Publicação')),
('efetividade', models.DateTimeField(verbose_name='Data de Efeito')),
('publicidade', models.PositiveSmallIntegerField(choices=[(1, 'Nota Privada'), (2, 'Nota Institucional'), (3, 'Nota Pública')], verbose_name='Nível de Publicidade')),
('dispositivo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dispositivo_nota_set', to='compilacao.Dispositivo', verbose_name='Dispositivo da Nota')),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Dono da Nota')),
],
options={
'ordering': ['-publicacao', '-modified'],
'verbose_name': 'Nota',
'verbose_name_plural': 'Notas',
},
),
migrations.CreateModel(
name='PerfilEstruturalTextoArticulado',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=10, unique=True, verbose_name='Sigla')),
('nome', models.CharField(max_length=50, verbose_name='Nome')),
('padrao', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Padrão')),
('parent', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='perfil_parent_set', to='compilacao.PerfilEstruturalTextoArticulado', verbose_name='Perfil Herdado')),
],
options={
'ordering': ['-padrao', 'sigla'],
'verbose_name': 'Perfil Estrutural de Texto Articulado',
'verbose_name_plural': 'Perfis Estruturais de Textos Articulados',
},
),
migrations.CreateModel(
name='Publicacao',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
('data', models.DateField(verbose_name='Data de Publicação')),
('hora', models.TimeField(blank=True, null=True, verbose_name='Horário de Publicação')),
('numero', models.PositiveIntegerField(blank=True, null=True, verbose_name='Número')),
('ano', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ano')),
('edicao', models.PositiveIntegerField(blank=True, null=True, verbose_name='Edição')),
('url_externa', models.URLField(blank=True, max_length=1024, verbose_name='Link para Versão Eletrônica')),
('pagina_inicio', models.PositiveIntegerField(blank=True, null=True, verbose_name='Pg. Início')),
('pagina_fim', models.PositiveIntegerField(blank=True, null=True, verbose_name='Pg. Fim')),
],
options={
'verbose_name': 'Publicação',
'verbose_name_plural': 'Publicações',
},
),
migrations.CreateModel(
name='TextoArticulado',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
('data', models.DateField(blank=True, null=True, verbose_name='Data')),
('ementa', models.TextField(verbose_name='Ementa')),
('observacao', models.TextField(blank=True, verbose_name='Observação')),
('numero', models.PositiveIntegerField(verbose_name='Número')),
('ano', models.PositiveSmallIntegerField(verbose_name='Ano')),
('participacao_social', models.NullBooleanField(choices=[(None, 'Padrão definido no Tipo'), (True, 'Sim'), (False, 'Não')], default=None, verbose_name='Participação Social')),
('object_id', models.PositiveIntegerField(blank=True, default=None, null=True)),
('editable_only_by_owners', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Editável apenas pelos donos do Texto Articulado')),
('editing_locked', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Texto Articulado em Edição')),
('privacidade', models.IntegerField(choices=[(99, 'Privado'), (79, 'Imotável Restrito'), (69, 'Imutável Público'), (89, 'Em Edição'), (0, 'Público')], default=99, verbose_name='Privacidade')),
('content_type', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
('owners', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Donos do Texto Articulado')),
],
options={
'permissions': (('view_restricted_textoarticulado', 'Pode ver qualquer Texto Articulado'), ('lock_unlock_textoarticulado', 'Pode bloquear/desbloquear edição de Texto Articulado')),
'ordering': ['-data', '-numero'],
'verbose_name': 'Texto Articulado',
'verbose_name_plural': 'Textos Articulados',
},
),
migrations.CreateModel(
name='TipoDispositivo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('nome', models.CharField(max_length=50, unique=True, verbose_name='Nome')),
('class_css', models.CharField(blank=True, max_length=20, verbose_name='Classe CSS')),
('rotulo_prefixo_html', models.TextField(blank=True, verbose_name='Prefixo html do rótulo')),
('rotulo_prefixo_texto', models.TextField(blank=True, verbose_name='Prefixo de Edição do rótulo')),
('rotulo_ordinal', models.IntegerField(choices=[(0, 'Numeração Cardinal.'), (-1, 'Numeração Ordinal.'), (9, 'Numeração Ordinal até o item nove.')], verbose_name='Tipo de número do rótulo')),
('rotulo_separador_variacao01', models.CharField(default='-', max_length=1, verbose_name='Separador entre Numeração e Variação 1')),
('rotulo_separador_variacao12', models.CharField(default='-', max_length=1, verbose_name='Separador entre Variação 1 e Variação 2')),
('rotulo_separador_variacao23', models.CharField(default='-', max_length=1, verbose_name='Separador entre Variação 2 e Variação 3')),
('rotulo_separador_variacao34', models.CharField(default='-', max_length=1, verbose_name='Separador entre Variação 3 e Variação 4')),
('rotulo_separador_variacao45', models.CharField(default='-', max_length=1, verbose_name='Separador entre Variação 4 e Variação 5')),
('rotulo_sufixo_texto', models.TextField(blank=True, verbose_name='Sufixo de Edição do rótulo')),
('rotulo_sufixo_html', models.TextField(blank=True, verbose_name='Sufixo html do rótulo')),
('texto_prefixo_html', models.TextField(blank=True, verbose_name='Prefixo html do texto')),
('texto_sufixo_html', models.TextField(blank=True, verbose_name='Sufixo html do texto')),
('nota_automatica_prefixo_html', models.TextField(blank=True, verbose_name='Prefixo html da nota automática')),
('nota_automatica_sufixo_html', models.TextField(blank=True, verbose_name='Sufixo html da nota automática')),
('contagem_continua', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], verbose_name='Contagem contínua')),
('dispositivo_de_articulacao', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Dispositivo de Articulação (Sem Texto)')),
('dispositivo_de_alteracao', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Dispositivo de Alteração')),
('formato_variacao0', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Numeração')),
('formato_variacao1', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Variação 1')),
('formato_variacao2', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Variação 2')),
('formato_variacao3', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Variação 3')),
('formato_variacao4', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Variação 4')),
('formato_variacao5', models.CharField(choices=[('1', '1-Numérico'), ('I', 'I-Romano Maiúsculo'), ('i', 'i-Romano Minúsculo'), ('A', 'A-Alfabético Maiúsculo'), ('a', 'a-Alfabético Minúsculo'), ('*', 'Tópico - Sem contagem'), ('N', 'Sem renderização')], default='1', max_length=1, verbose_name='Formato da Variação 5')),
],
options={
'ordering': ['id'],
'verbose_name': 'Tipo de Dispositivo',
'verbose_name_plural': 'Tipos de Dispositivo',
},
),
migrations.CreateModel(
name='TipoDispositivoRelationship',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('filho_de_insercao_automatica', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Filho de Inserção Automática')),
('permitir_variacao', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Permitir Variação Numérica')),
('quantidade_permitida', models.IntegerField(default=-1, verbose_name='Quantidade permitida nesta relação')),
('filho_permitido', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='possiveis_pais', to='compilacao.TipoDispositivo')),
('pai', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='filhos_permitidos', to='compilacao.TipoDispositivo')),
('perfil', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.PerfilEstruturalTextoArticulado')),
],
options={
'ordering': ['pai', 'filho_permitido'],
'verbose_name': 'Relação Direta Permitida',
'verbose_name_plural': 'Relaçõe Diretas Permitidas',
},
),
migrations.CreateModel(
name='TipoNota',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=10, unique=True, verbose_name='Sigla')),
('nome', models.CharField(max_length=50, verbose_name='Nome')),
('modelo', models.TextField(blank=True, verbose_name='Modelo')),
],
options={
'verbose_name': 'Tipo de Nota',
'verbose_name_plural': 'Tipos de Nota',
},
),
migrations.CreateModel(
name='TipoPublicacao',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=10, unique=True, verbose_name='Sigla')),
('nome', models.CharField(max_length=50, verbose_name='Nome')),
],
options={
'verbose_name': 'Tipo de Publicação',
'verbose_name_plural': 'Tipos de Publicação',
},
),
migrations.CreateModel(
name='TipoTextoArticulado',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=3, verbose_name='Sigla')),
('descricao', models.CharField(max_length=50, verbose_name='Descrição')),
('participacao_social', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Participação Social')),
('publicacao_func', models.NullBooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Histórico de Publicação')),
('content_type', models.OneToOneField(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType', verbose_name='Modelo Integrado')),
('perfis', models.ManyToManyField(blank=True, help_text='\n Apenas os perfis selecionados aqui estarão disponíveis\n para o editor de Textos Articulados cujo Tipo seja este\n em edição.\n ', to='compilacao.PerfilEstruturalTextoArticulado', verbose_name='Perfis Estruturais de Textos Articulados')),
],
options={
'verbose_name': 'Tipo de Texto Articulado',
'verbose_name_plural': 'Tipos de Texto Articulados',
},
),
migrations.CreateModel(
name='TipoVide',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=10, unique=True, verbose_name='Sigla')),
('nome', models.CharField(max_length=50, verbose_name='Nome')),
],
options={
'verbose_name': 'Tipo de Vide',
'verbose_name_plural': 'Tipos de Vide',
},
),
migrations.CreateModel(
name='VeiculoPublicacao',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sigla', models.CharField(max_length=10, unique=True, verbose_name='Sigla')),
('nome', models.CharField(max_length=60, verbose_name='Nome')),
],
options={
'verbose_name': 'Veículo de Publicação',
'verbose_name_plural': 'Veículos de Publicação',
},
),
migrations.CreateModel(
name='Vide',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
('modified', models.DateTimeField(auto_now=True, verbose_name='modified')),
('texto', models.TextField(verbose_name='Texto do Vide')),
('dispositivo_base', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dispositivo_base_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Base')),
('dispositivo_ref', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dispositivo_citado_set', to='compilacao.Dispositivo', verbose_name='Dispositivo Referido')),
('tipo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.TipoVide', verbose_name='Tipo do Vide')),
],
options={
'verbose_name': 'Vide',
'verbose_name_plural': 'Vides',
},
),
migrations.AddField(
model_name='tipodispositivo',
name='relacoes_diretas_pai_filho',
field=models.ManyToManyField(related_name='relacaoes_pai_filho', through='compilacao.TipoDispositivoRelationship', to='compilacao.TipoDispositivo'),
),
migrations.AddField(
model_name='textoarticulado',
name='tipo_ta',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='compilacao.TipoTextoArticulado', verbose_name='Tipo de Texto Articulado'),
),
migrations.AddField(
model_name='publicacao',
name='ta',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.TextoArticulado', verbose_name='Texto Articulado'),
),
migrations.AddField(
model_name='publicacao',
name='tipo_publicacao',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.TipoPublicacao', verbose_name='Tipo de Publicação'),
),
migrations.AddField(
model_name='publicacao',
name='veiculo_publicacao',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.VeiculoPublicacao', verbose_name='Veículo de Publicação'),
),
migrations.AddField(
model_name='nota',
name='tipo',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='compilacao.TipoNota', verbose_name='Tipo da Nota'),
),
migrations.AddField(
model_name='dispositivo',
name='publicacao',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='compilacao.Publicacao', verbose_name='Publicação'),
),
migrations.AddField(
model_name='dispositivo',
name='ta',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dispositivos_set', to='compilacao.TextoArticulado', verbose_name='Texto Articulado'),
),
migrations.AddField(
model_name='dispositivo',
name='ta_publicado',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='dispositivos_alterados_pelo_ta_set', to='compilacao.TextoArticulado', verbose_name='Texto Articulado Publicado'),
),
migrations.AddField(
model_name='dispositivo',
name='tipo_dispositivo',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='dispositivos_do_tipo_set', to='compilacao.TipoDispositivo', verbose_name='Tipo do Dispositivo'),
),
migrations.AlterUniqueTogether(
name='vide',
unique_together=set([('dispositivo_base', 'dispositivo_ref', 'tipo')]),
),
migrations.AlterUniqueTogether(
name='tipodispositivorelationship',
unique_together=set([('pai', 'filho_permitido', 'perfil')]),
),
migrations.AlterUniqueTogether(
name='dispositivo',
unique_together=set([('ta', 'dispositivo0', 'dispositivo1', 'dispositivo2', 'dispositivo3', 'dispositivo4', 'dispositivo5', 'tipo_dispositivo', 'dispositivo_pai', 'dispositivo_atualizador', 'ta_publicado', 'publicacao'), ('ta', 'ordem')]),
),
]