# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 2025_04_15_134120) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "pg_buffercache"
  enable_extension "pg_stat_statements"
  enable_extension "pg_trgm"
  enable_extension "plpgsql"
  enable_extension "sslinfo"
  enable_extension "unaccent"

  create_table "acesso_acoes", id: :serial, force: :cascade do |t|
    t.string "nome_da_acao"
    t.string "nome_de_exibicao"
    t.integer "controle_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "acesso_controles", id: :serial, force: :cascade do |t|
    t.string "nome_do_controle"
    t.string "nome_de_exibicao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modulo_id"
    t.boolean "acesso_de_modulo"
  end

  create_table "acesso_modulos", id: :serial, force: :cascade do |t|
    t.string "nome_do_modulo"
    t.text "nome_de_exibicao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "acesso_permissoes", id: :serial, force: :cascade do |t|
    t.integer "perfil_id"
    t.integer "acao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "controle_id"
    t.boolean "permitido"
  end

  create_table "activities", id: :serial, force: :cascade do |t|
    t.integer "trackable_id"
    t.string "trackable_type"
    t.integer "owner_id"
    t.string "owner_type"
    t.string "key"
    t.text "parameters"
    t.integer "recipient_id"
    t.string "recipient_type"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.index ["owner_id", "owner_type"], name: "index_activities_on_owner_id_and_owner_type"
    t.index ["recipient_id", "recipient_type"], name: "index_activities_on_recipient_id_and_recipient_type"
    t.index ["trackable_id", "trackable_type"], name: "index_activities_on_trackable_id_and_trackable_type"
  end

  create_table "administrativo_demandas_programadas", force: :cascade do |t|
    t.integer "item_da_requisicao_de_material_id"
    t.decimal "quantidade_requisitada", precision: 18, scale: 2
    t.decimal "quantidade_atendida", precision: 18, scale: 2
    t.date "data_do_atendimento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "administrativo_detalhamentos_da_requisicao_de_material", force: :cascade do |t|
    t.integer "tipo_de_material"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "requisicao_de_material_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "classificacao_do_detalhamento_id"
  end

  create_table "administrativo_itens_das_requisicoes_de_materiais", force: :cascade do |t|
    t.integer "requisicao_de_material_id"
    t.integer "item_id"
    t.decimal "quantidade_requisitada", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "quantidade_atendida", precision: 12, scale: 6
    t.integer "unidade_de_medida_id"
    t.bigint "estoque_id"
    t.decimal "valor_total", precision: 18, scale: 2
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.bigint "centro_de_custo_da_requisicao_id"
    t.bigint "detalhamento_da_requisicao_de_material_id"
  end

  create_table "administrativo_requisicoes_de_materiais", force: :cascade do |t|
    t.string "numero_da_requisicao"
    t.date "data_da_requisicao"
    t.integer "unidade_orcamentaria_id"
    t.integer "almoxarifado_id"
    t.integer "tipo_de_material"
    t.boolean "trazer_itens_do_recebimento"
    t.integer "status"
    t.text "motivo_da_recusa"
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "recebimento_de_material_id"
    t.integer "orcamento_id"
    t.integer "unidade_de_medida"
    t.boolean "avulsa"
    t.integer "classificacao"
    t.integer "fornecedor_id"
    t.integer "beneficiado_id"
    t.integer "usuario_id"
    t.date "data_da_devolucao"
    t.text "historico_da_devolucao"
    t.integer "tipo_de_requisicao"
    t.integer "classificacao_tipo_de_material"
    t.bigint "transferencia_id"
    t.bigint "almoxarifado_destino_id"
    t.bigint "responsavel_id"
    t.integer "tipo_de_solicitacao"
    t.integer "tipo_de_consumo"
    t.bigint "sub_elemento_de_despesa_id"
    t.boolean "utiliza_centro_de_custo"
  end

  create_table "ajustar_sim", id: false, force: :cascade do |t|
    t.bigint "id_da_conta"
    t.string "codigo"
    t.text "descricao_da_conta"
  end

  create_table "backup_237110100", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "conta_por_evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.decimal "valor", precision: 12, scale: 2
    t.date "data_de_lancamento"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "tipo_de_lancamento"
    t.string "codigo_movimentacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "titulo"
    t.text "historico"
    t.integer "categoria_de_lancamento"
    t.integer "lancamento_manual"
    t.string "numero_do_processo_judicial", limit: 60
    t.bigint "movimentacao_par_id"
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.bigint "centro_de_custo_id"
    t.string "codigo_da_conta"
    t.integer "tipo_de_movimentacao"
    t.bigint "sub_conta_pcasp_id"
    t.integer "fonte_de_recursos_id"
    t.bigint "conta_bancaria_id"
    t.boolean "validado"
  end

  create_table "backup_gestao_de_estoque_consumos", id: false, force: :cascade do |t|
    t.bigint "id"
    t.date "data_de_consumo"
    t.string "codigo"
    t.integer "status"
    t.bigint "almoxarifado_id"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "responsavel_id"
    t.bigint "orcamento_id"
    t.text "historico"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.boolean "separa_itens_por_setor"
    t.text "setor_solicitante"
    t.text "requisitante"
    t.text "motivo_de_recusa"
    t.boolean "gerado_por_api"
    t.boolean "usa_escola"
    t.integer "escola_id"
  end

  create_table "backup_ic_fp", id: false, force: :cascade do |t|
    t.integer "id"
    t.string "ic_fp"
  end

  create_table "backup_licitacao_comissoes", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "unidade_gestora_id"
    t.string "numero"
    t.string "numero_da_portaria"
    t.integer "tipo_de_comissao"
    t.date "data_da_extincao"
    t.string "numero_da_portaria_de_extincao"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "arquivo_id"
    t.string "nome"
    t.date "data_da_portaria"
    t.string "cep"
    t.string "rua"
    t.string "bairro"
    t.integer "cidade_id"
    t.string "numero_da_rua"
  end

  create_table "backup_loa_gestores", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "unidade_gestora_id"
    t.integer "agente_publico_municipal_id"
    t.date "inicio_da_gestao"
    t.date "fim_da_gestao"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "arquivo_id"
  end

  create_table "backup_loa_unidades_gestoras", id: false, force: :cascade do |t|
    t.integer "id"
    t.string "codigo", limit: 2
    t.string "nome", limit: 80
    t.date "data_de_cadastro"
    t.string "numero_da_lei_de_criacao", limit: 10
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "status_do_orcamento"
    t.boolean "responsavel_contabil_diferente"
    t.integer "arquivo_id"
    t.string "cnpj"
    t.date "data_encerramento"
  end

  create_table "backup_loa_unidades_orcamentarias", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "orgao_id"
    t.string "codigo", limit: 4
    t.string "nome", limit: 80
    t.string "sigla", limit: 10
    t.integer "tipo_de_administracao_id"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "tipo_de_unidade_administrativa_id"
    t.integer "unidade_gestora_id"
    t.boolean "importar_dependencias"
    t.integer "status_do_orcamento"
    t.integer "conta_id"
    t.boolean "is_unidade_arrecadadora"
    t.integer "arquivo_id"
    t.integer "ppa_unidade_orcamentaria_id"
    t.boolean "rpps"
    t.boolean "saae"
    t.integer "situacao_orcamentaria"
    t.boolean "parcelamento"
    t.integer "pessoa_id"
  end

  create_table "backup_movimentacoes_pcasp_2023", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "conta_por_evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.decimal "valor", precision: 12, scale: 2
    t.date "data_de_lancamento"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "tipo_de_lancamento"
    t.string "codigo_movimentacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "titulo"
    t.text "historico"
    t.integer "categoria_de_lancamento"
    t.integer "lancamento_manual"
    t.string "numero_do_processo_judicial", limit: 60
    t.bigint "movimentacao_par_id"
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.bigint "centro_de_custo_id"
    t.string "codigo_da_conta"
    t.integer "tipo_de_movimentacao"
    t.bigint "sub_conta_pcasp_id"
    t.integer "fonte_de_recursos_id"
    t.bigint "conta_bancaria_id"
    t.boolean "validado"
  end

  create_table "backup_movimentos", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "conta_por_evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.decimal "valor", precision: 12, scale: 2
    t.date "data_de_lancamento"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "tipo_de_lancamento"
    t.string "codigo_movimentacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "titulo"
    t.text "historico"
    t.integer "categoria_de_lancamento"
    t.integer "lancamento_manual"
    t.string "numero_do_processo_judicial", limit: 60
    t.bigint "movimentacao_par_id"
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.bigint "centro_de_custo_id"
    t.string "codigo_da_conta"
    t.integer "tipo_de_movimentacao"
    t.bigint "sub_conta_pcasp_id"
    t.integer "fonte_de_recursos_id"
    t.bigint "conta_bancaria_id"
    t.boolean "validado"
  end

  create_table "base_agencias", id: :serial, force: :cascade do |t|
    t.string "nome", limit: 80
    t.string "numero_da_agencia", limit: 6
    t.string "cep", limit: 8
    t.string "bairro", limit: 255
    t.string "logradouro", limit: 255
    t.string "numero_do_logradouro", limit: 5
    t.string "telefone", limit: 10
    t.string "email", limit: 50
    t.string "complemento", limit: 255
    t.integer "cidade_id"
    t.integer "banco_id"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_envio"
  end

  create_table "base_agentes_publicos_municipais", id: :serial, force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.string "ingresso_sistema_publico_municipal"
    t.string "tipo_relacao_servico_publico"
    t.string "numero_de_posse"
    t.date "data_da_posse"
    t.string "tipo_de_amparo_legal"
    t.date "data_do_amparo_legal"
    t.date "data_da_publicacao_do_amparo_legal"
    t.string "matricula_municipal"
    t.integer "situacao_funcional"
    t.string "regime_juridico"
    t.string "regime_previdenciario"
    t.integer "codigo_ocupacao"
    t.integer "tipo_de_cargo"
    t.integer "carga_horaria_semanal"
    t.integer "tipo_de_programa"
    t.string "codigo_pis_pasep"
    t.string "titulo_de_eleitor"
    t.integer "grau_de_instrucao"
    t.integer "codigo_sexo"
    t.string "nome_da_mae"
    t.string "nome_do_pai"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "usuario_id"
    t.integer "pessoa_id"
    t.integer "arquivo_id"
  end

  create_table "base_bancos", id: :serial, force: :cascade do |t|
    t.integer "numero_do_banco"
    t.string "cnpj", limit: 14
    t.string "nome", limit: 80
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "sigla", limit: 20
  end

  create_table "base_categorias", id: :serial, force: :cascade do |t|
    t.integer "categoria_superior_id"
    t.string "titulo"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo", limit: 3
  end

  create_table "base_categorias_da_pessoa", force: :cascade do |t|
    t.bigint "pessoa_id"
    t.bigint "categoria_id"
    t.bigint "sub_categoria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_categorias_economicas", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_cidades", id: :serial, force: :cascade do |t|
    t.integer "estado_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo_ibge"
  end

  create_table "base_classificacoes_das_fontes_de_recursos", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_cnaes", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.string "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_cnaes_da_pessoa", id: :serial, force: :cascade do |t|
    t.integer "pessoa_id"
    t.integer "cnae_id"
    t.boolean "principal"
  end

  create_table "base_configuracoes_de_feriados", force: :cascade do |t|
    t.integer "orcamento_id"
    t.date "data_do_feriado"
    t.text "descricao_do_feriado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "mes_de_referencia"
    t.integer "ano_de_referencia"
    t.integer "tipo_de_feriado"
  end

  create_table "base_conta_unidade_por_empenhos", id: :serial, force: :cascade do |t|
    t.integer "conta_unidade_id"
    t.integer "empenho_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_contas_bancarias", id: :serial, force: :cascade do |t|
    t.integer "agencia_id"
    t.string "numero_da_conta", limit: 12
    t.date "data_de_abertura"
    t.integer "funcao_id"
    t.string "descricao_do_vinculo", limit: 255
    t.decimal "saldo_inicial", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "operacao", limit: 4
    t.string "nomenclatura"
    t.integer "tipo"
    t.integer "tipo_de_conta"
    t.boolean "conta_caixa_pcasp", default: false
    t.integer "tipo_de_conta_pcasp"
    t.integer "arquivo_id"
    t.bigint "convenio_bancario_id"
    t.string "convenio_para_boletos"
    t.boolean "exibir_na_api"
    t.decimal "saldo_de_implantacao", precision: 18, scale: 2
    t.string "codigo_ug"
    t.string "codigo_gestao"
    t.date "data_de_inativacao"
  end

  create_table "base_contas_bancarias_por_pagamento", id: :serial, force: :cascade do |t|
    t.integer "pagamento_id"
    t.integer "conta_bancaria_id"
    t.decimal "valor_pago", precision: 12, scale: 2, default: "0.0"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_contas_bancarias_por_unidade_orcamentaria", id: :serial, force: :cascade do |t|
    t.integer "conta_bancaria_id"
    t.integer "unidade_orcamentaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "saldo_atual", precision: 12, scale: 2
    t.boolean "principal", default: false
    t.date "data_de_abertura"
    t.bigint "arquivo_id"
  end

  create_table "base_documentos", id: :serial, force: :cascade do |t|
    t.string "titulo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_elementos_de_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modalidade_de_aplicacao_id"
    t.integer "folha_de_pagamento"
    t.integer "preferencialmente_pessoa_fisica"
    t.integer "preferencialmente_pessoa_juridica"
    t.integer "despesa_financeira"
    t.integer "compoe_obras"
    t.integer "despesa_pessoal"
    t.integer "deducao_despesa_pessoal"
    t.integer "transferencia_intraorcamentaria"
    t.integer "deducao_pasep"
    t.integer "contabil_obrigatorio"
    t.integer "padrao_rpps"
    t.boolean "exibir_elemento_de_despesa"
    t.integer "despesa_magisterio"
    t.integer "elemento_de_gasto_id"
    t.boolean "inativo"
    t.index ["codigo"], name: "base_elementos_de_despesa_idx_migracao"
  end

  create_table "base_elementos_por_categoria", id: :serial, force: :cascade do |t|
    t.integer "elemento_de_gasto_id"
    t.string "elemento_de_gasto_type"
    t.integer "categoria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["elemento_de_gasto_type", "elemento_de_gasto_id"], name: "index_elementos_por_categoria_on_elemento_de_gasto_type_and_id"
  end

  create_table "base_estados", id: :serial, force: :cascade do |t|
    t.string "uf", limit: 2
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo_uf"
  end

  create_table "base_estados_civis", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_fontes_de_recursos", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 2
    t.string "descricao", limit: 250
    t.integer "grupo_da_fonte_de_recursos_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modulo_id"
    t.string "modulo_type"
    t.decimal "percentual_minimo_de_destinacao", precision: 3, scale: 1
    t.integer "tipo_de_arrecadacao"
    t.integer "classificacao_da_fonte_de_recursos_id"
    t.boolean "de_convenio"
    t.string "type"
    t.integer "fonte_stn_id"
    t.boolean "fonte_vinculada"
    t.integer "tipo_de_vinculo"
    t.index ["modulo_type", "modulo_id", "codigo"], name: "base_fontes_de_recursos_idx_migracao"
  end

  create_table "base_fontes_de_recursos_da_conta_bancaria", id: :serial, force: :cascade do |t|
    t.integer "fonte_de_recurso_id"
    t.integer "conta_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "saldo_inicial", precision: 18, scale: 2
  end

  create_table "base_fontes_de_recursos_teste", id: false, force: :cascade do |t|
    t.integer "id", null: false
    t.string "codigo", limit: 2
    t.string "descricao", limit: 250
    t.integer "grupo_da_fonte_de_recursos_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modulo_id"
    t.string "modulo_type"
    t.decimal "percentual_minimo_de_destinacao", precision: 3, scale: 1
    t.integer "tipo_de_arrecadacao"
    t.integer "classificacao_da_fonte_de_recursos_id"
    t.boolean "de_convenio"
    t.string "type"
    t.integer "fonte_stn_id"
  end

  create_table "base_fontes_stn", id: :serial, force: :cascade do |t|
    t.integer "codigo_tipo_exercicio"
    t.string "codigo_principal"
    t.string "detalhamento_sintetico"
    t.string "nomenclatura_sintetica"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_funcoes", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "nome"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_orcamento_id"
  end

  create_table "base_grupos_das_fontes_de_recursos", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 1
    t.string "descricao", limit: 40
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_grupos_de_natureza_da_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "categoria_economica_id"
  end

  create_table "base_itens", id: :serial, force: :cascade do |t|
    t.text "descricao"
    t.integer "unidade_de_medida_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "ncm_id"
    t.text "descricao_tecnica"
    t.string "codigo_na_prefeitura", limit: 10
    t.integer "categoria_id"
    t.boolean "combustivel"
    t.boolean "perecivel"
    t.boolean "esconder", default: false
  end

  create_table "base_legislacoes", id: :serial, force: :cascade do |t|
    t.integer "tipo"
    t.string "descricao"
    t.date "data_da_legislacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "arquivo_file_name"
    t.string "arquivo_content_type"
    t.integer "arquivo_file_size"
    t.datetime "arquivo_updated_at"
    t.string "titulo"
    t.boolean "fixo"
    t.integer "tipo_de_artigo"
    t.boolean "esconder", default: false
    t.integer "esfera"
    t.integer "lei_federal"
  end

  create_table "base_legislacoes_configuracoes", force: :cascade do |t|
    t.integer "legislacao_id"
    t.boolean "pb_dispensa", default: false
    t.boolean "pb_inexigibilidade", default: false
    t.boolean "pb_chamada", default: false
    t.boolean "aditivo_prazo", default: false
    t.boolean "aditivo_acrescimo", default: false
    t.boolean "aditivo_reducao", default: false
    t.boolean "aditivo_reajuste_acrescimo", default: false
    t.boolean "aditivo_reajuste_decrescimo", default: false
    t.boolean "aditivo_nova_unidade", default: false
    t.boolean "aditivo_mudanca_item", default: false
    t.boolean "aditivo_alteracao_contratual", default: false
    t.boolean "aditivo_recisao", default: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "aditivo_prazo_e_reducao", default: false
    t.boolean "aditivo_prazo_e_acrescimo", default: false
    t.boolean "aditivo_renovacao", default: false
    t.boolean "aditivo_prazo_e_reajuste_acrescimo", default: false
    t.boolean "aditivo_prazo_e_reajuste_decrescimo", default: false
  end

  create_table "base_modalidades_de_aplicacao", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "grupo_de_natureza_da_despesa_id"
  end

  create_table "base_municipios_sim", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_naturezas_da_receita", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 16
    t.string "descricao"
    t.string "categoria_economica", limit: 3
    t.string "origem", limit: 1
    t.string "especie", limit: 1
    t.string "rubrica", limit: 1
    t.string "alinea", limit: 2
    t.string "subalinea", limit: 2
    t.string "detalhamento_optativo", limit: 2
    t.boolean "padrao"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_previsto", precision: 12, scale: 2, default: "0.0"
    t.integer "tipo_de_orcamento_id"
    t.integer "tipo_de_receita"
    t.boolean "de_convenio"
    t.boolean "novo_tipo"
    t.text "codigo_referencia"
    t.decimal "percentual_de_aplicacao_na_educacao", precision: 18, scale: 2
    t.decimal "percentual_de_aplicacao_na_saude", precision: 18, scale: 2
    t.boolean "pedir_cadastro_de_convenio"
    t.decimal "percentual_para_legislativo", precision: 18, scale: 2
    t.boolean "evento_contabil_obrigatorio"
    t.text "historico_padrao"
    t.string "legislacao_da_receita"
    t.string "nivel_opcional_1", limit: 2
    t.string "nivel_opcional_2", limit: 2
    t.string "nivel_opcional_3", limit: 2
    t.integer "tipo_de_deducao_id"
    t.string "sigla", limit: 50
    t.integer "receita_stn_id"
    t.boolean "analitica"
    t.boolean "exibir"
    t.boolean "aplicacao_financeira_do_fundeb"
    t.boolean "pedir_cadastro_de_operacao_de_credito"
    t.integer "valor_alteracao_da_previsao"
    t.integer "forma_de_adicao"
    t.bigint "sub_conta_pcasp_id"
    t.index ["modulo_type", "modulo_id"], name: "index_base_naturezas_da_receita_on_modulo_type_and_modulo_id"
  end

  create_table "base_naturezas_das_acoes", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 1
    t.string "descricao", limit: 40
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["modulo_type", "modulo_id", "codigo"], name: "base_naturezas_das_acoes_idx_migracao"
  end

  create_table "base_niveis_opcionais_stn", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 6
    t.string "descricao"
    t.string "sigla"
    t.integer "receita_stn_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_ocorrencias_da_alteracao_da_receita", force: :cascade do |t|
    t.bigint "natureza_da_receita_id"
    t.integer "ocorrencia"
    t.integer "motivo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_pessoas", id: :serial, force: :cascade do |t|
    t.string "nome", limit: 80
    t.integer "tipo_de_pessoa_id"
    t.string "cpf", limit: 11
    t.string "cnpj", limit: 14
    t.string "identidade", limit: 25
    t.string "inscricao_estadual", limit: 25
    t.date "data_da_emissao"
    t.string "orgao_expedidor", limit: 10
    t.integer "uf_orgao_expedidor_id"
    t.string "inscricao_municipal", limit: 15
    t.string "cep", limit: 8
    t.string "logradouro", limit: 120
    t.string "numero", limit: 8
    t.string "complemento", limit: 80
    t.string "bairro", limit: 60
    t.integer "cidade_id"
    t.string "telefone", limit: 15
    t.date "data_de_nascimento"
    t.string "nit", limit: 11
    t.string "profissao", limit: 60
    t.integer "estado_civil_id"
    t.string "naturalidade", limit: 60
    t.date "data_do_cadastro"
    t.text "observacoes"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "email", limit: 120
    t.integer "dependentes"
    t.boolean "fornecedor"
    t.integer "porte"
    t.string "email_alternativo", limit: 120
    t.string "nome_fantasia", limit: 80
    t.boolean "fundo_de_investimento", default: false
    t.integer "tipo_de_entidade"
    t.boolean "entidade_publica", default: false
    t.boolean "ativo"
  end

  create_table "base_pessoas_contas_bancarias", id: :serial, force: :cascade do |t|
    t.integer "pessoa_id"
    t.integer "conta_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "banco_id"
    t.string "agencia"
    t.string "numero_da_conta"
    t.string "operacao"
    t.text "chave_pix"
    t.integer "digito_agencia"
  end

  create_table "base_rcls", id: :serial, force: :cascade do |t|
    t.integer "percentual_janeiro"
    t.integer "percentual_fevereiro"
    t.integer "percentual_marco"
    t.integer "percentual_abril"
    t.integer "percentual_maio"
    t.integer "percentual_junho"
    t.integer "percentual_julho"
    t.integer "percentual_agosto"
    t.integer "percentual_setembro"
    t.integer "percentual_outubro"
    t.integer "percentual_novembro"
    t.integer "percentual_dezembro"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_receitas_stn", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 10
    t.string "descricao", limit: 300
    t.boolean "de_convenio"
    t.boolean "pedir_cadastro_de_convenio"
    t.boolean "evento_contabil_obrigatorio"
    t.boolean "analitica"
    t.string "sigla", limit: 50
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
    t.date "data_inativacao"
  end

  create_table "base_responsaveis", force: :cascade do |t|
    t.string "nome"
    t.string "cpf"
    t.string "rg"
    t.integer "pessoa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_subfuncoes", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "nome"
    t.integer "funcao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_tecnicos", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.string "cargo"
    t.integer "ordem_de_impressao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modulo_id"
    t.integer "orgao_id"
    t.string "consultoria"
    t.string "modulo_type"
  end

  create_table "base_tipo_de_pessoas", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo"
  end

  create_table "base_tipos_de_administracao", id: :serial, force: :cascade do |t|
    t.string "sigla"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "modulo_type"
    t.integer "modulo_id"
    t.integer "codigo"
  end

  create_table "base_tipos_de_despesa", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "codigo"
  end

  create_table "base_tipos_de_esfera", id: :serial, force: :cascade do |t|
    t.string "descricao", limit: 50
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "codigo"
  end

  create_table "base_tipos_de_orcamento", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 1
    t.string "descricao", limit: 40
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "numero"
  end

  create_table "base_tipos_de_transferencia", id: :serial, force: :cascade do |t|
    t.integer "numero"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "base_tipos_de_unidades_administrativas", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "modulo_type"
    t.integer "modulo_id"
    t.integer "poder_associado"
  end

  create_table "bens_pra_atualizar", id: false, force: :cascade do |t|
    t.bigint "id"
    t.bigint "item_do_recebimento_de_bem_id"
    t.string "numero_do_tombamento"
    t.integer "status"
    t.text "descricao"
    t.date "data_do_tombamento"
    t.bigint "unidade_gestora_id"
    t.bigint "dados_extras_do_bem_id"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.bigint "orcamento_id"
    t.bigint "sequencia"
    t.string "cor"
    t.string "chassi"
    t.string "serie_do_veiculo"
    t.integer "ano_de_fabricacao"
    t.string "placa"
    t.string "renavam", limit: 11
    t.integer "tipo_de_combustivel"
    t.decimal "quilometragem", precision: 18, scale: 2
    t.decimal "capacidade_de_combustivel", precision: 18, scale: 2
    t.date "inicio_da_depreciacao"
    t.bigint "programa_de_recursos_id"
    t.integer "tipo_de_poder"
    t.integer "origem_do_recurso"
    t.bigint "item_id"
    t.integer "tipo_de_bem"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "item_da_transferencia_id"
  end

  create_table "bens_temporarios", id: false, force: :cascade do |t|
    t.integer "id"
  end

  create_table "comunicacao_mensagens", id: :serial, force: :cascade do |t|
    t.string "titulo"
    t.text "conteudo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "comunicacao_mensagens_do_usuario", id: :serial, force: :cascade do |t|
    t.integer "usuario_id"
    t.integer "mensagem_id"
    t.boolean "lida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "configuracoes", id: :serial, force: :cascade do |t|
    t.string "nome_da_prefeitura"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "brasao_file_name"
    t.string "brasao_content_type"
    t.integer "brasao_file_size"
    t.datetime "brasao_updated_at"
    t.boolean "permite_lancamentos_no_sabado"
    t.boolean "permite_lancamentos_no_domingo"
    t.boolean "permite_lancamentos_em_feriados"
    t.boolean "permite_saldo_das_contas_do_plano_de_contas_vire"
    t.string "codigo_do_municipio_no_tcm"
    t.boolean "ocultar_rodape"
    t.boolean "ocultar_titulo_cabecalho"
    t.integer "estado_id"
    t.integer "cidade_id"
    t.integer "tipo"
    t.string "telefone_da_prefeitura"
    t.string "endereco_da_prefeitura"
    t.string "horario_inicio_funcionamento_da_prefeitura"
    t.string "horario_fim_funcionamento_da_prefeitura"
    t.string "nome_do_pregoeiro"
    t.string "cnpj_da_prefeitura"
    t.string "mascara_numero_do_processo"
    t.boolean "comite_programacao_financeira"
    t.boolean "permite_envio_de_email"
    t.boolean "envia_projeto_para_controladoria"
    t.boolean "obriga_dotacao_para_registro_com_preco"
    t.boolean "francionamento_de_dispensa_por_subelemento"
    t.boolean "francionamento_de_dispensa_por_cnpj"
    t.boolean "francionamento_de_dispensa_por_unidade_gestora"
    t.boolean "envia_empenho_para_controladoria"
    t.boolean "envia_empenho_para_copfin"
    t.boolean "envia_parecer_inicial", default: false
    t.boolean "envia_parecer_final", default: false
    t.boolean "envia_documentos_para_controladoria"
    t.boolean "envia_documentos_para_copfin"
    t.boolean "obriga_termo_de_referencia"
    t.boolean "obriga_documento_de_autorizacao"
    t.boolean "obriga_termo_de_autuacao"
    t.boolean "obriga_despacho"
    t.boolean "obriga_minuta_de_contrato"
    t.boolean "obriga_minuta_de_ata_de_registro_de_preco"
    t.boolean "usa_emprestimo_do_bid"
    t.boolean "exibe_assinatura_copfin"
    t.boolean "exibe_assinatura_controladoria"
    t.boolean "comprometimento_de_dotacoes"
    t.integer "qtd_dias_para_encerrar_o_contrato"
    t.integer "tempo_limite_da_cotacao", default: 10
    t.boolean "envia_empenho_para_contabilidade"
    t.boolean "configura_numero_do_empenho", default: true
    t.boolean "envia_liquidacao_para_contabilidade", default: false
    t.boolean "envia_email_pagamento_confirmado"
    t.boolean "exibe_assinatura_ordenador"
    t.boolean "envia_empenho_de_diaria_para_controladoria", default: false
    t.boolean "envia_empenho_de_diaria_para_copfin", default: false
    t.boolean "obriga_medicao_da_obra_na_liquidacao_adm", default: true
    t.integer "tempo_limite_da_medicao", default: 10
    t.integer "qtd_dias_para_encerrar_a_ata"
    t.boolean "enviar_relatorio_de_medicao"
    t.string "email_contabilidade"
    t.boolean "permite_enviar_alertas", default: false
    t.string "assessor_contabil"
    t.integer "tipo_de_acesso", default: 0
    t.date "data_vencimento_acesso"
    t.boolean "configura_numero_do_processo", default: false
    t.boolean "envia_liquidacao_para_controladoria"
    t.boolean "envia_pagamento_para_controladoria"
    t.boolean "envia_documento_para_controladoria", default: false
    t.boolean "exibir_data_no_documento_solicitacao_empenho", default: true
    t.boolean "exibir_data_no_documento_solicitacao_liquidacao", default: true
    t.boolean "enviar_aditivo_para_controladoria", default: false
    t.boolean "utilizar_nova_licitacao"
    t.boolean "controlar_empenho_por_vigencia"
    t.boolean "utiliza_responsavel_pela_elaboracao"
    t.boolean "permite_uso_da_bolsa_de_materiais"
    t.integer "prazo_da_entrada_automatica_na_bolsa_de_materiais"
    t.integer "prazo_da_analise_da_entrada_na_bolsa_de_materiais"
    t.boolean "valida_saldo_da_dotacao_no_pb"
    t.boolean "valida_saldo_da_dotacao_no_empenho"
    t.string "numeracao_do_tombamento"
    t.boolean "utiliza_evento_contabil"
    t.boolean "utiliza_assinatura_do_gestor", default: false
    t.boolean "exibe_identificacao_da_empresa_desenvolvedora"
    t.bigint "empresa_desenvolvedora_id"
    t.boolean "iniciar_fluxo_pelo_patrimonio"
    t.boolean "usar_centro_de_custos_na_localizacao_do_bem"
    t.boolean "mandar_dispensa_art_24_i_e_ii_ao_sim", default: false
    t.boolean "autorizacao_de_pagamento_via_email"
    t.string "email_principal_da_autorizacao", limit: 320
    t.string "email_secundario_da_autorizacao", limit: 320
    t.boolean "obriga_responsavel_pelo_pedido"
    t.boolean "processa_arquivo_bll"
    t.boolean "ambiente_de_teste"
    t.boolean "utiliza_centro_de_custo_na_requisicao"
    t.boolean "mandar_dispensa_art_75_i_e_ii_ao_sim"
    t.boolean "envia_sim_contabilidade"
    t.boolean "utiliza_saldo_de_implantacao"
    t.string "prazo_sem_movimentacao_de_material"
    t.boolean "obriga_conta_bancaria_da_unidade_na_solicitacao_de_empenho", default: false
    t.boolean "gerar_lote_somente_com_pagamento_completo"
    t.boolean "implantacao"
    t.boolean "utiliza_almoxarifado"
    t.boolean "faz_envio_do_sim", default: false
    t.boolean "controla_itens_por_dotacao"
    t.boolean "obriga_preenchimento_de_nf", default: true
    t.string "email_validacao"
    t.boolean "obriga_inscricao_do_fornecedor_na_liquidacao", default: false
    t.integer "bloqueio_geral"
    t.boolean "obriga_competencia_em_despesas_extra_orcamentarias"
    t.boolean "ordencacao_de_itens_pela_sequencia", default: false
    t.integer "exercicio_validacao"
    t.boolean "permite_encerramento_anual_do_estoque"
    t.datetime "atualizacao_contas_pcasp"
    t.integer "exercicio_para_pcasp"
    t.boolean "obriga_conta_bancaria_empenho"
    t.boolean "permitir_niveis_diferentes_na_transferencia_pcasp"
  end

  create_table "configuracoes_sim", force: :cascade do |t|
    t.bigint "configuracao_id"
    t.bigint "agente_publico_id"
    t.bigint "pessoa_id"
    t.integer "tipo_de_responsavel"
    t.date "data_de_entrada"
    t.date "data_de_saida"
    t.integer "tipo_sim"
    t.string "crc"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "consulta_moveis_gerais", force: :cascade do |t|
    t.string "orgao_unidade"
    t.string "secretaria"
    t.string "setor"
    t.date "data_cadastro"
    t.string "tombo_atual"
    t.string "tombo_anterior"
    t.text "descricao_bens"
    t.string "especificacao"
    t.string "marca"
    t.string "modelo"
    t.string "serie"
    t.string "chassi"
    t.string "cor"
    t.string "conservacao"
    t.string "grupo"
    t.string "subgrupo"
    t.string "situacao"
    t.string "aquisicao"
    t.string "nota_fiscal"
    t.date "data_aquisicao"
    t.date "data_tombamento"
    t.decimal "valor"
    t.string "natureza_tce"
    t.string "fornecedor"
    t.string "fonte_de_recurso"
    t.date "data_empenho"
    t.string "empenho"
    t.string "classificacao"
    t.string "baixa"
    t.date "data_vistoria"
    t.string "nome_vistoriador"
    t.date "data_vistoria_dois"
    t.string "nome_vistoria_dois"
    t.date "data_vistoria_tres"
    t.string "nome_vistoria_tres"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_acoes_do_contigenciamento", id: :serial, force: :cascade do |t|
    t.integer "orcamento_do_contingenciamento_id"
    t.integer "acao_id"
    t.decimal "valor", precision: 18, scale: 2
  end

  create_table "contabilidade_acoes_do_sistema", id: :serial, force: :cascade do |t|
    t.string "nome", limit: 255
    t.integer "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_acompanhamentos_de_parcelamento_do_rpps", force: :cascade do |t|
    t.integer "arquivo_id"
    t.integer "parcelamento_do_rpps_id"
    t.bigint "numero_da_parcela"
    t.date "data_do_vencimento"
    t.date "data_do_pagamento"
    t.decimal "valor_pago_do_principal", precision: 18, scale: 2
    t.decimal "valor_pago_de_juros_e_multa", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_agrupamentos_de_retencoes_do_controle_de_pg", force: :cascade do |t|
    t.boolean "folha", default: false
    t.integer "controle_de_pagamento_id"
    t.integer "conta_extra_id"
    t.string "imposto_type"
    t.boolean "detalhamento_por_ug", default: false
    t.boolean "detalhamento_por_fonte", default: false
    t.string "tipo_de_acao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_alocacoes_de_recurso_de_rpps", force: :cascade do |t|
    t.date "data_da_reuniao"
    t.decimal "percentual_da_meta_de_rentabilidade", precision: 18, scale: 2
    t.integer "arquivo_id"
    t.integer "orcamento_id"
    t.text "meta_de_rentabilidade"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_anulacoes_da_conta_extra", force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.integer "conta_extra_orcamentaria_id"
    t.integer "unidade_orcamentaria_id"
    t.date "data"
    t.integer "motivo_do_cancelamento"
    t.text "historico"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_anulacoes_do_empenho", id: :serial, force: :cascade do |t|
    t.integer "empenho_id"
    t.string "numero"
    t.date "data_da_anulacao"
    t.integer "tipo_de_anulacao"
    t.decimal "valor", precision: 12, scale: 2
    t.text "historico"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.integer "arquivo_id"
    t.boolean "indisponibilidade_de_caixa"
    t.boolean "retificadora"
  end

  create_table "contabilidade_anulacoes_dos_itens_do_empenho", id: :serial, force: :cascade do |t|
    t.integer "item_do_empenho_id"
    t.integer "anulacao_do_empenho_id"
    t.decimal "quantidade", precision: 14, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "total", precision: 12, scale: 2
  end

  create_table "contabilidade_anulacoes_dos_taloes_de_receita", id: :serial, force: :cascade do |t|
    t.integer "talao_de_receita_id"
    t.date "data_da_anulacao"
    t.integer "tipo_de_anulacao"
    t.decimal "valor", precision: 12, scale: 2
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "relancamento", default: false
    t.integer "tipo_de_movimento"
    t.integer "arquivo_id"
    t.integer "orcamento_id"
    t.string "numero_da_anulacao"
  end

  create_table "contabilidade_aportes_despesas", force: :cascade do |t|
    t.date "data_da_documentacao"
    t.integer "natureza_do_lancamento"
    t.integer "tipo"
    t.decimal "valor", precision: 18, scale: 2
    t.integer "orcamento_id"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_arquivos_msc", force: :cascade do |t|
    t.text "conteudo"
    t.string "nome_do_arquivo"
    t.integer "formato"
    t.integer "periodo_matriz_de_saldo_contabil_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_balancetes_de_despesas_extra_orcamentarias", force: :cascade do |t|
    t.bigint "conta_extra_por_unidade_orcamentaria_id"
    t.date "data_de_envio"
    t.integer "exercicio"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_balancetes_de_receitas_extra_orcamentarias", force: :cascade do |t|
    t.bigint "conta_extra_por_unidade_orcamentaria_id"
    t.integer "exercicio"
    t.integer "mes_referencia"
    t.bigint "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_balancetes_de_verificacoes", force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "mes_de_referencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_bens_do_balancete", force: :cascade do |t|
    t.bigint "empenho_id"
    t.bigint "balancete_de_verificacao_id"
    t.bigint "conta_id"
    t.integer "uso_do_bem"
    t.boolean "lancado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_bloqueio_de_dotacoes", id: :serial, force: :cascade do |t|
    t.integer "orcamento_da_despesa_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "justificativa"
    t.date "data_do_bloqueio"
    t.integer "status"
    t.date "data_do_desbloqueio"
  end

  create_table "contabilidade_bloqueios_mensais_do_pcasp", force: :cascade do |t|
    t.integer "mes_referencia"
    t.integer "orcamento_id"
    t.boolean "bloqueado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_cancelamentos_de_restos_a_pagar", force: :cascade do |t|
    t.date "data"
    t.string "decreto"
    t.integer "tipo"
    t.integer "motivo"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "orcamento_dos_empenhos_id"
    t.string "numero"
    t.integer "classificacao"
  end

  create_table "contabilidade_cfops", force: :cascade do |t|
    t.string "descricao"
    t.string "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_comites_de_investimento", force: :cascade do |t|
    t.date "data_da_criacao"
    t.integer "decreto_id"
    t.date "data_de_extincao"
    t.integer "orcamento_id"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "decreto_de_extincao_id"
    t.integer "codigo"
  end

  create_table "contabilidade_complementos_por_fonte_da_anulacao_do_talao", force: :cascade do |t|
    t.integer "complementacao_da_fonte_de_recurso"
    t.integer "orcamento_da_receita_id"
    t.integer "anulacao_do_talao_de_receita_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
  end

  create_table "contabilidade_complementos_por_fonte_do_talao_de_receita", force: :cascade do |t|
    t.integer "complementacao_da_fonte_de_recurso"
    t.integer "orcamento_da_receita_id"
    t.integer "talao_de_receita_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor", precision: 12, scale: 2
    t.integer "arquivo_id"
  end

  create_table "contabilidade_conciliacoes", force: :cascade do |t|
    t.bigint "transacao_da_conciliacao_id"
    t.bigint "movimentacao_da_conta_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "grupo"
    t.integer "tipo_de_grupo"
  end

  create_table "contabilidade_conciliacoes_bancarias", force: :cascade do |t|
    t.bigint "banco_id"
    t.bigint "conta_bancaria_id"
    t.integer "mes_do_arquivo"
    t.string "ano_do_arquivo", limit: 4
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "arquivo_ofx_file_name"
    t.string "arquivo_ofx_content_type"
    t.integer "arquivo_ofx_file_size"
    t.datetime "arquivo_ofx_updated_at"
    t.string "arquivo_pdf_file_name"
    t.string "arquivo_pdf_content_type"
    t.integer "arquivo_pdf_file_size"
    t.datetime "arquivo_pdf_updated_at"
  end

  create_table "contabilidade_configuracoes_de_folha", force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "mes_de_referencia"
    t.date "data_do_fechamento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_do_fechamento_legislativo"
  end

  create_table "contabilidade_configuracoes_do_evento_contabil", force: :cascade do |t|
    t.bigint "evento_contabil_id"
    t.integer "status"
    t.integer "modalidade_do_empenho"
    t.integer "tipo_de_pessoa"
    t.integer "modulo_de_ativacao"
    t.boolean "configurou_unidade_orcamentaria_do_empenho_na_contabilidade"
    t.boolean "empenho_complementar"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_evento"
    t.boolean "resto_a_pagar"
    t.boolean "processado"
    t.boolean "recebimento_com_classificacao"
    t.integer "alteracao_no_saldo"
    t.integer "tipo_de_projecao"
    t.boolean "receita_de_deducao"
    t.boolean "ativa_apenas_uma_vez"
    t.string "classificacao_do_imovel", limit: 9
    t.string "classificacao_da_obra", limit: 9
    t.string "tipo_do_imovel", limit: 9
    t.string "tipo_do_bem_da_obra", limit: 9
    t.integer "uso_do_bem"
    t.integer "tipo_de_obra"
    t.boolean "bem_lancado"
    t.boolean "obra_tombada"
    t.boolean "veio_de_uma_ordem"
    t.bigint "conta_pcasp_id"
    t.bigint "conta_pcasp_da_conta_bancaria_id"
    t.boolean "extraorcamentario"
    t.integer "origem_da_retencao"
    t.boolean "originado_de_um_evento_manual"
    t.bigint "conta_pcasp_do_lancamento_manual_id"
    t.boolean "fluxo_completo_do_empenho"
    t.boolean "fluxo_completo_da_anulacao_do_empenho"
    t.boolean "cancelamento_por_falta_de_disponibilidade_de_caixa"
    t.integer "tipo_de_credito"
    t.integer "origem_do_recurso"
    t.integer "motivo_cancelamento"
    t.integer "tipo_de_resto_a_pagar"
    t.boolean "plano_de_contas_encerrado"
    t.bigint "classificacao_da_receita"
    t.boolean "ultima_opcao_de_lancamento_da_receita"
    t.bigint "conta_pcasp_destino_id"
    t.integer "classe_da_conta_pcasp"
    t.boolean "com_fonte_de_recursos"
    t.integer "origem_da_fonte"
    t.boolean "originado_de_um_contrato"
    t.integer "modalidade_do_aditivo"
    t.integer "tipo_de_previsao"
    t.boolean "estorno"
    t.boolean "inversao_de_superavit_financeiro"
    t.integer "tipo_de_reconhecimento_do_passivo"
    t.integer "classificacao_vpd"
    t.integer "regime"
    t.integer "tipo_de_entidade"
    t.integer "detalhamento_vpd_da_liquidacao"
    t.integer "classificacao_pcasp"
    t.integer "tipo_de_conta_pcasp"
    t.boolean "vem_de_pagamento_com_retencao"
    t.boolean "deposito"
    t.boolean "retencao"
    t.boolean "consignacao"
    t.boolean "aciona_sem_valor_de_retencoes"
    t.boolean "aciona_em_fontes_comecadas_com_2"
    t.boolean "duodecimo"
    t.boolean "ativar_pela_subconta"
    t.integer "modalidade_operacao_de_credito"
    t.boolean "ug_diferente"
    t.integer "tipo_de_ug"
    t.boolean "devolucao_duodecimo"
    t.boolean "ativar_para_todas_as_contas"
    t.boolean "possui_conta_bancaria"
    t.boolean "dotacao_acrescimo"
    t.boolean "abertura"
    t.integer "grupo_pcasp"
    t.boolean "investimento_rpps", default: false
    t.integer "exercicio_restos_a_pagar"
    t.integer "tipo_de_material"
    t.integer "classificacao"
    t.integer "tipo_de_entrada"
    t.integer "status_de_reconhecimento"
    t.boolean "retificadora"
    t.string "codigo_sim"
  end

  create_table "contabilidade_conjuntos_de_contas_do_grupo_de_retencao", force: :cascade do |t|
    t.bigint "grupo_de_retencao_do_controle_de_pagamento_id"
    t.bigint "liquidacao_id"
    t.boolean "conjunto_padrao"
    t.bigint "conta_origem_id"
    t.bigint "conta_destino_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "fonte_de_recursos_id"
    t.bigint "unidade_orcamentaria_id"
    t.decimal "valor", precision: 18, scale: 2
    t.boolean "cadastrado_no_form"
  end

  create_table "contabilidade_conselhos_de_rpps", force: :cascade do |t|
    t.integer "decreto_id"
    t.integer "tipo_de_conselho"
    t.date "data_de_extincao"
    t.integer "decreto_de_extincao_id"
    t.integer "arquivo_id"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "codigo"
    t.text "descricao_do_conselho"
  end

  create_table "contabilidade_contas", id: :serial, force: :cascade do |t|
    t.integer "grupo_de_conta_id"
    t.integer "orcamento_id"
    t.string "classe", limit: 1
    t.string "grupo", limit: 1
    t.string "subgrupo", limit: 1
    t.string "titulo", limit: 1
    t.string "subtitulo", limit: 1
    t.string "item", limit: 2
    t.string "subitem", limit: 2
    t.string "codigo"
    t.string "nome", limit: 255
    t.integer "status"
    t.integer "natureza_do_saldo"
    t.integer "atributo_de_conta"
    t.decimal "saldo", precision: 12, scale: 2
    t.boolean "registro_de_evento_contabil_obrigatorio"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "importada_do_pcasp"
    t.boolean "analitica"
    t.text "descricao"
    t.integer "ente_que_utiliza"
    t.integer "informacao_complementar"
    t.boolean "conta_de_registro_de_transferencia"
    t.integer "classe_pcasp"
    t.string "detalhamento_extra"
    t.bigint "conta_pai_id"
    t.integer "indicador_do_superavit_financeiro"
    t.integer "nivel_detalhado"
    t.index ["id", "importada_do_pcasp"], name: "contabilidade_contas_idx_e_importada_do_pcasp"
  end

  create_table "contabilidade_contas_das_liquidacoes_do_controle_de_pagamento", force: :cascade do |t|
    t.integer "liquidacao_do_controle_de_pagamento_id"
    t.integer "conta_origem_id"
    t.decimal "valor_da_conta_origem", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_contas_do_grupo_de_retencoes_do_controle_de_pg", force: :cascade do |t|
    t.integer "agrupamento_id"
    t.integer "ug_id"
    t.integer "fonte_id"
    t.integer "conta_origem_id"
    t.integer "conta_destino_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "pago", default: false
    t.bigint "despesa_extra_orcamentaria_id"
    t.bigint "talao_de_receita_id"
  end

  create_table "contabilidade_contas_extra_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "codigo", limit: 9
    t.string "descricao"
    t.decimal "saldo_inicial", precision: 12, scale: 2
    t.boolean "padrao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "retencao_para"
    t.integer "arquivo_id"
    t.date "data_de_envio_pro_sim"
    t.string "codigo_sim"
    t.integer "detalhamento_id"
    t.integer "subconta_id"
    t.integer "tipo_de_conta"
    t.integer "natureza_da_receita_id"
    t.integer "pessoa_id"
    t.integer "classe_pcasp", default: 2
    t.bigint "conta_id"
    t.string "codigo_sim_temporario"
    t.date "data_de_inativacao"
    t.integer "grupo_pcasp"
    t.boolean "investimento_rpps", default: false
    t.integer "sub_conta_pcasp_id"
  end

  create_table "contabilidade_contas_extra_por_unidades_orcamentarias", force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.integer "conta_extra_orcamentaria_id"
    t.decimal "saldo", precision: 18, scale: 4
    t.bigint "arquivo_id"
  end

  create_table "contabilidade_contas_pcasp_da_conta_bancaria_por_orcamento", force: :cascade do |t|
    t.bigint "conta_id"
    t.bigint "conta_bancaria_id"
    t.bigint "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_contas_por_eventos_contabeis", id: :serial, force: :cascade do |t|
    t.integer "conta_id"
    t.integer "evento_contabil_id"
    t.integer "tipo_de_lancamento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "conta_par_id"
    t.integer "ordem_de_lancamento", limit: 2
    t.boolean "conta_principal"
    t.index ["id", "conta_id"], name: "contabilidade_contas_por_eventos_contabeis_idx_e_conta"
  end

  create_table "contabilidade_contas_por_unidades_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "conta_id"
    t.integer "unidade_orcamentaria_id"
    t.index ["conta_id", "unidade_orcamentaria_id"], name: "conta_unidade_orcamentaria_id", unique: true
  end

  create_table "contabilidade_contigenciamentos", id: :serial, force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.integer "fonte_de_recurso_id"
    t.integer "tipo"
    t.integer "decreto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_controle_de_pagamentos", force: :cascade do |t|
    t.date "data"
    t.integer "unidade_orcamentaria_id"
    t.integer "fonte_de_recurso_id"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "elemento_de_despesa_id"
    t.boolean "folha_de_pagamento"
    t.integer "pessoa_id"
    t.integer "status", default: 0
    t.integer "forma_de_pagamento"
  end

  create_table "contabilidade_convenios", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "numero"
    t.date "data_da_celebracao"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.decimal "valor_do_repasse", precision: 12, scale: 2
    t.decimal "valor_da_contrapartida", precision: 12, scale: 2
    t.integer "funcao_id"
    t.integer "tipo_de_esfera_id"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "identificacao_da_transferencia_do_municipio", limit: 15
    t.integer "modalidade"
    t.integer "tipo_de_transferencia_id"
    t.integer "receita_corrente_id"
    t.integer "receita_de_capital_id"
    t.integer "convenio_id"
    t.integer "unidade_orcamentaria_id"
    t.string "cedente"
  end

  create_table "contabilidade_convenios_bancarios", force: :cascade do |t|
    t.integer "layout_para_lote"
    t.integer "banco_id"
    t.string "codigo"
    t.text "descricao"
    t.integer "ordenador_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_convenios_contas_bancarias", id: :serial, force: :cascade do |t|
    t.integer "convenio_id"
    t.integer "conta_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["convenio_id", "conta_bancaria_id"], name: "c_cb", unique: true
  end

  create_table "contabilidade_cronogramas_do_empenho", force: :cascade do |t|
    t.bigint "empenho_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "mes_inicial"
    t.integer "dia_do_reconhecimento"
  end

  create_table "contabilidade_dados_balancete_de_verificacao", force: :cascade do |t|
    t.bigint "balancete_de_verificacao_id"
    t.bigint "conta_id"
    t.string "codigo_da_conta"
    t.bigint "unidade_orcamentaria_id"
    t.integer "tipo_de_lancamento"
    t.integer "exercicio"
    t.integer "competencia"
    t.decimal "valor"
    t.integer "tipo_de_saldo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_decretos", id: :serial, force: :cascade do |t|
    t.date "data_da_legislacao"
    t.integer "tipo_de_legislacao"
    t.string "numero"
    t.string "objetivo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_credito"
    t.integer "classificacao"
    t.integer "status"
    t.integer "arquivo_id"
    t.date "data_de_envio_pro_sim"
    t.integer "tipo_de_decreto"
    t.integer "orcamento_id"
    t.integer "funcao_do_instrumento_legal"
    t.string "ementa_do_instrumento_legal"
    t.date "data_da_publicacao"
    t.string "numero_revogado"
    t.date "data_da_revogacao"
    t.string "numero_da_lei"
    t.string "numero_ldo"
    t.string "lei_autorizativa"
    t.date "data_da_lei_autorizativa"
    t.string "numero_da_lei_sim"
  end

  create_table "contabilidade_demonstrativos_de_informacoes_previdenciarias", force: :cascade do |t|
    t.integer "mes_de_competencia"
    t.integer "ano_de_competencia"
    t.boolean "dado_patronal"
    t.integer "tipo_de_plano"
    t.integer "tipo_de_folha"
    t.decimal "valor_base_de_calculo", precision: 18, scale: 2
    t.decimal "valor_das_contribuicoes", precision: 18, scale: 2
    t.decimal "valor_das_deducoes_direto", precision: 18, scale: 2
    t.decimal "valor_das_deducoes_indereto", precision: 18, scale: 2
    t.integer "orcamento_id"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_despesas_extra_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.date "data_de_emissao"
    t.integer "conta_extra_orcamentaria_id"
    t.string "numero_de_caixa"
    t.integer "credor_id"
    t.integer "tipo_de_documento"
    t.string "numero_do_documento"
    t.decimal "valor_da_despesa", precision: 18, scale: 2
    t.decimal "valor_da_deducao", precision: 18, scale: 2
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "conta_bancaria_por_unidade_orcamentaria_id"
    t.decimal "valor_juros_e_multa", precision: 12, scale: 2
    t.boolean "estornada", default: false
    t.integer "detalhe_do_pagamento_id"
    t.integer "tipo_de_lancamento"
    t.integer "arquivo_id"
    t.integer "unidade_orcamentaria_id"
    t.bigint "pagamento_da_retencao_id"
    t.integer "mes_de_competencia"
    t.integer "ano_de_competencia"
    t.bigint "fonte_de_recursos_id"
  end

  create_table "contabilidade_detalhamentos_por_subelementos", force: :cascade do |t|
    t.integer "liquidacao_id"
    t.integer "conta_id"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_diarias", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "numero"
    t.integer "unidade_orcamentaria_id"
    t.integer "agente_publico_municipal_id"
    t.string "numero_da_portaria", limit: 13
    t.date "data_da_portaria"
    t.integer "cidade_id"
    t.date "data_da_viagem"
    t.date "data_do_retorno"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "historico"
    t.decimal "qtd_de_diarias", precision: 11, scale: 1
    t.boolean "dotacao_na_diaria"
    t.integer "arquivo_id"
    t.boolean "viagem_exterior"
    t.string "local_exterior"
  end

  create_table "contabilidade_documentos_da_diaria", id: :serial, force: :cascade do |t|
    t.integer "diaria_id"
    t.integer "tipo_do_documento"
    t.text "texto"
    t.string "titulo_personalizado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modelo_do_documento_id"
    t.date "data_do_documento"
  end

  create_table "contabilidade_documentos_da_liquidacao", force: :cascade do |t|
    t.integer "modelo_do_documento_id"
    t.text "texto"
    t.integer "tipo_de_documento"
    t.string "titulo_personalizado"
    t.string "numero"
    t.integer "liquidacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_do_documento"
  end

  create_table "contabilidade_documentos_do_decreto", force: :cascade do |t|
    t.integer "decreto_id"
    t.text "texto"
    t.integer "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_dotacoes_destino", id: :serial, force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
    t.integer "dotacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.integer "arquivo_id_rtt"
    t.string "numero_da_alteracao_orcamentaria"
  end

  create_table "contabilidade_dotacoes_origem", id: :serial, force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
    t.integer "dotacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.integer "arquivo_id_rtt"
    t.string "numero_da_alteracao_orcamentaria"
  end

  create_table "contabilidade_elementos_por_acao_do_contigenciamento", id: :serial, force: :cascade do |t|
    t.integer "acao_do_contigenciamento_id"
    t.decimal "valor", precision: 18, scale: 2
    t.integer "elemento_de_despesa_id"
  end

  create_table "contabilidade_elementos_por_subacao_da_solicitacao", force: :cascade do |t|
    t.integer "elemento_de_despesa_id"
    t.integer "subacao_da_solicitacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_empenhos", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "pessoa_id"
    t.integer "licitacao_id"
    t.string "numero_do_empenho"
    t.integer "modalidade"
    t.text "historico"
    t.date "data_do_empenho"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_da_despesa_id"
    t.decimal "valor_liquidado", precision: 12, scale: 2
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor_liquidado_estornado", precision: 12, scale: 2
    t.decimal "valor_suplementado", precision: 12, scale: 2
    t.integer "diaria_id"
    t.integer "status"
    t.date "data_de_solicitacao"
    t.integer "projeto_id"
    t.integer "contrato_id"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "passagem_id"
    t.boolean "descriminacao_obrigatoria_de_itens"
    t.boolean "obrigatoriedade_conta_credor"
    t.boolean "descrimina_itens_processo_ou_contrato"
    t.string "numero_processo"
    t.string "numero_contrato"
    t.string "modalidade_processo"
    t.string "legislacao_processo"
    t.boolean "vincula_processo_contrato"
    t.boolean "numero_confirmado"
    t.integer "empenho_origem_id"
    t.integer "arquivo_id"
    t.integer "tipo_de_lancamento"
    t.datetime "ultimo_envio_controladoria"
    t.datetime "ultimo_envio_copfin"
    t.integer "complementacao_da_fonte_de_recurso"
    t.boolean "reconhecimento_de_divida"
    t.integer "aditivo_id"
    t.boolean "encargos_sociais"
    t.integer "unidade_orcamentaria_do_exercicio_id"
    t.integer "operacao_de_credito_id"
    t.integer "transferencia_id"
    t.boolean "saldo_cancelado_processado", default: false
    t.boolean "saldo_cancelado_nao_processado", default: false
    t.integer "pessoa_conta_bancaria_id"
    t.boolean "empenho_complementar", default: false
    t.integer "uso_do_bem_do_empenho"
    t.bigint "tipo_do_bem_do_empenho"
    t.string "numero_da_solicitacao_do_empenho"
    t.boolean "restos_a_pagar"
    t.decimal "saldo_total", precision: 18, scale: 6
    t.integer "tipo_de_reconhecimento_do_passivo"
    t.bigint "lancamento_manual_do_evento_contabil_id"
    t.boolean "criado_na_contabilidade"
    t.bigint "movimentacao_do_plano_de_contas_id"
    t.bigint "sub_elemento_de_despesa_exercicio_anterior_id"
    t.integer "classificacao_vpd"
    t.boolean "envia_detalhamento_folha_ao_sim"
    t.integer "regime"
    t.integer "tipo_de_entidade"
    t.integer "classificacao_pcasp"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "sub_conta_pcasp_id"
    t.boolean "retificadora"
    t.index ["contrato_id", "projeto_id"], name: "index_contabilidade_empenhos_on_contrato_id_and_projeto_id"
    t.index ["orcamento_da_despesa_id"], name: "cont_emp_orcamento_id"
    t.index ["status", "restos_a_pagar", "unidade_orcamentaria_id"], name: "empenho_unidade_orcamentaria_id"
  end

  create_table "contabilidade_empresas_da_obra", id: :serial, force: :cascade do |t|
    t.integer "obra_id"
    t.integer "pessoa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "numero_do_crea", limit: 25
  end

  create_table "contabilidade_engenheiros_da_obra", id: :serial, force: :cascade do |t|
    t.integer "obra_id"
    t.integer "pessoa_id"
    t.date "data_de_inicio"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "numero_do_crea", limit: 25
    t.integer "tipo"
    t.integer "formacao"
    t.string "numero_da_portaria"
    t.string "cargo"
  end

  create_table "contabilidade_envios_ao_sim_por_objeto", force: :cascade do |t|
    t.bigint "objeto_id"
    t.string "objeto_type"
    t.bigint "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_erros_de_movimentacao_pcasp", force: :cascade do |t|
    t.string "objeto_type"
    t.bigint "objeto_id"
    t.integer "motivo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_erros_de_pagamento", force: :cascade do |t|
    t.string "modulo_type"
    t.bigint "modulo_id"
    t.string "descricao"
    t.string "referencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "controle_de_pagamento_id"
    t.bigint "origem_do_erro_id"
    t.string "origem_do_erro_type"
  end

  create_table "contabilidade_estorno_de_despesas_extra_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "despesa_extra_orcamentaria_id"
    t.date "data_do_estorno"
    t.integer "usuario_id"
    t.text "justificativa"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.bigint "orcamento_id"
    t.string "numero_do_estorno"
  end

  create_table "contabilidade_estornos_de_liquidacao", id: :serial, force: :cascade do |t|
    t.integer "liquidacao_id"
    t.integer "usuario_id"
    t.date "data_do_estorno"
    t.string "justificativa", limit: 255
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.boolean "derivado_de_cancelamento"
    t.integer "arquivo_id"
    t.bigint "orcamento_id"
    t.string "numero_do_estorno"
  end

  create_table "contabilidade_estornos_de_pagamento", id: :serial, force: :cascade do |t|
    t.integer "pagamento_id"
    t.integer "usuario_id"
    t.date "data_do_estorno"
    t.string "justificativa", limit: 255
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.bigint "orcamento_id"
    t.string "numero_do_estorno"
  end

  create_table "contabilidade_eventos_contabeis", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "acao_do_sistema_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
    t.boolean "padrao"
    t.integer "tipo"
    t.integer "classe"
    t.string "sequencial", limit: 5
    t.text "descricao"
    t.integer "tipo_de_fornecedor"
    t.integer "classificacao_tipo_de_material"
    t.boolean "fixo", default: false
    t.boolean "evento_de_transferencia"
    t.integer "modelo"
    t.boolean "lancamento_manual"
    t.bigint "grupo_de_evento_contabil_id"
    t.bigint "importacao_de_evento_contabil_id"
    t.boolean "ativo"
  end

  create_table "contabilidade_eventos_contabeis_por_gerador", force: :cascade do |t|
    t.integer "evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_fontes_da_configuracao_contabil", force: :cascade do |t|
    t.bigint "fonte_de_recursos_id"
    t.bigint "configuracao_do_evento_contabil_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_fontes_de_recurso_do_saldo_consolidado", force: :cascade do |t|
    t.bigint "fonte_de_recurso_id"
    t.bigint "saldo_consolidado_por_criterio_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_fontes_de_recursos_de_restos_a_pagar", force: :cascade do |t|
    t.bigint "empenho_id"
    t.bigint "fonte_de_recursos_id"
    t.bigint "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_fontes_por_elemento_da_subacao_da_solicitacao", force: :cascade do |t|
    t.integer "fonte_de_recursos_id"
    t.integer "elemento_por_subacao_da_solicitacao_id"
    t.integer "iduso"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_fundos_de_investimento", force: :cascade do |t|
    t.integer "percentual_da_alocacao_de_recurso_id"
    t.integer "conta_bancaria_id"
    t.integer "pessoa_id"
    t.string "nome_do_fundo"
  end

  create_table "contabilidade_grupo_de_contas", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "codigo"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_grupo_de_eventos_contabeis", force: :cascade do |t|
    t.string "nome_do_grupo"
    t.integer "categoria_de_lancamento"
    t.integer "titulo"
    t.integer "lancamento_manual"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_grupos_de_retencoes_do_controle_de_pagamento", force: :cascade do |t|
    t.bigint "controle_de_pagamento_id"
    t.bigint "conta_extra_orcamentaria_id"
    t.boolean "por_fonte"
    t.boolean "por_unidade_gestora"
    t.integer "acao"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "fonte_de_recursos_id"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_importacoes_de_eventos_contabeis", force: :cascade do |t|
    t.date "data_da_importacao"
    t.boolean "falhou"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "arquivo_tabela_file_name"
    t.string "arquivo_tabela_content_type"
    t.integer "arquivo_tabela_file_size"
    t.datetime "arquivo_tabela_updated_at"
    t.bigint "orcamento_id"
  end

  create_table "contabilidade_imposto_sobre_servicos", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.string "codigo"
    t.decimal "aliquota", precision: 5, scale: 2
    t.boolean "credor_externo_paga_imposto"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_impostos_de_renda", id: :serial, force: :cascade do |t|
    t.integer "mes_de_competencia"
    t.decimal "desconto_por_dependente", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "ano_de_referencia"
    t.date "inicio_de_vigencia"
    t.date "fim_de_vigencia"
  end

  create_table "contabilidade_inss", id: :serial, force: :cascade do |t|
    t.integer "competencia"
    t.decimal "teto_retencao", precision: 12, scale: 2
    t.string "ano_de_referencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_inss_pessoas_fisicas", id: :serial, force: :cascade do |t|
    t.integer "inss_id"
    t.decimal "aliquota", precision: 5, scale: 2
    t.decimal "base_de_calculo", precision: 5, scale: 2
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_inss_pessoas_juridicas", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "descricao"
    t.decimal "aliquota", precision: 12, scale: 2
    t.decimal "percentual_base_calculo", precision: 5, scale: 2
    t.string "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_investimentos_do_rpps", force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "arquivo_id"
    t.decimal "saldo_inicial", precision: 18, scale: 2
    t.decimal "valor_da_aplicacao", precision: 18, scale: 2
    t.decimal "valor_do_resgate", precision: 18, scale: 2
    t.decimal "valor_do_rendimento", precision: 18, scale: 2
    t.string "identificacao_do_fundo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "mes_de_competencia"
    t.integer "ano_de_competencia"
    t.integer "fundo_de_investimento_id"
    t.boolean "perdas"
  end

  create_table "contabilidade_irrfs_pessoas_fisicas", id: :serial, force: :cascade do |t|
    t.integer "imposto_de_renda_id"
    t.decimal "limite_da_faixa", precision: 12, scale: 2
    t.decimal "aliquota", precision: 5, scale: 2
    t.decimal "parcela_a_deduzir", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_irrfs_pessoas_juridicas", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "codigo"
    t.string "descricao"
    t.decimal "aliquota", precision: 5, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "percentual_da_base_de_calculo", precision: 5, scale: 2
  end

  create_table "contabilidade_itens_da_nota_fiscal", id: :serial, force: :cascade do |t|
    t.integer "liquidacao_id"
    t.decimal "quantidade", precision: 14, scale: 6
    t.decimal "valor_unitario", precision: 14, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "item_id"
    t.decimal "total", precision: 12, scale: 2
    t.integer "arquivo_id"
    t.integer "ncm_id"
  end

  create_table "contabilidade_itens_do_empenho", id: :serial, force: :cascade do |t|
    t.integer "empenho_id"
    t.integer "item_id"
    t.decimal "quantidade", precision: 14, scale: 6, default: "0.0"
    t.decimal "valor_unitario", precision: 14, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "total", precision: 12, scale: 2
    t.boolean "quantidade_positiva"
    t.index ["quantidade"], name: "index_contabilidade_itens_do_empenho_on_quantidade"
    t.index ["quantidade_positiva"], name: "index_contabilidade_itens_do_empenho_on_quantidade_positiva"
  end

  create_table "contabilidade_itens_do_lote_de_receita", force: :cascade do |t|
    t.bigint "natureza_da_receita_id"
    t.decimal "valor", precision: 18, scale: 2
    t.bigint "lote_de_receita_id"
    t.bigint "talao_de_receita_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
  end

  create_table "contabilidade_itens_do_retorno_bancario", force: :cascade do |t|
    t.bigint "retorno_bancario_id"
    t.string "numero_da_ob"
    t.integer "codigo_da_operacao"
    t.decimal "valor_liquido", precision: 18, scale: 2
    t.integer "codigo_do_banco"
    t.string "agencia_do_favorecido"
    t.string "conta_bancaria_do_favorecido"
    t.string "nome_do_favorecido"
    t.string "documento_do_favorecido"
    t.string "agencia"
    t.string "conta_bancaria"
    t.integer "codigo_de_retorno"
    t.bigint "pagamento_do_lote_bancario_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "tipo_de_pagamento"
  end

  create_table "contabilidade_itens_dos_rps_cancelados", force: :cascade do |t|
    t.bigint "liquidacao_do_rp_cancelado_id"
    t.bigint "resto_a_pagar_cancelado_id"
    t.bigint "item_id"
    t.decimal "quantidade_cancelada", precision: 18, scale: 6
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.decimal "total", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_lancamentos_do_orcamento_da_despesa", id: :serial, force: :cascade do |t|
    t.integer "orcamento_da_despesa_id"
    t.date "data_do_lancamento"
    t.decimal "valor", precision: 12, scale: 2
    t.decimal "saldo", precision: 12, scale: 2
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "sequencia"
  end

  create_table "contabilidade_lancamentos_do_orcamento_da_receita", id: :serial, force: :cascade do |t|
    t.integer "orcamento_da_receita_id"
    t.date "data_do_lancamento"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "saldo", precision: 12, scale: 2
  end

  create_table "contabilidade_lancamentos_extraorcamentario_despesa", force: :cascade do |t|
    t.integer "modulo_id"
    t.string "modulo_type"
    t.integer "conta_extra_orcamentaria_id"
    t.date "data_do_lancamento"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_lancamentos_extraorcamentario_receita", force: :cascade do |t|
    t.integer "modulo_id"
    t.string "modulo_type"
    t.integer "conta_extra_orcamentaria_id"
    t.date "data_do_lancamento"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_lancamentos_manuais_do_evento_contabil", force: :cascade do |t|
    t.bigint "conta_do_evento_manual_id"
    t.integer "tipo_de_lancamento"
    t.decimal "valor", precision: 18, scale: 2
    t.bigint "conjunto_de_lancamento_contabil_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_liquidacoes", id: :serial, force: :cascade do |t|
    t.string "numero", limit: 3
    t.integer "empenho_id"
    t.date "data_da_liquidacao"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "mes_da_folha"
    t.integer "ano_da_folha"
    t.string "tipo_da_folha", limit: 2
    t.date "data_de_emissao_da_folha"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "estornada", default: false, null: false
    t.integer "nota_fiscal_tipo"
    t.string "nota_fiscal_numero", limit: 15
    t.text "historico"
    t.decimal "valor_pago", precision: 12, scale: 2
    t.integer "medicao_da_obra_id"
    t.integer "status"
    t.date "data_de_solicitacao"
    t.integer "mes_de_competencia"
    t.boolean "descrimina_itens_processo_ou_empenho"
    t.integer "ano_de_competencia"
    t.integer "arquivo_id"
    t.integer "tipo_de_lancamento"
    t.boolean "restos_a_pagar"
    t.integer "orcamento_id"
    t.string "nota_fiscal_chave_de_acesso", limit: 44
    t.integer "tipo_de_reconhecimento_do_passivo"
    t.integer "liquidacao_origem_id"
    t.string "numero_da_fatura"
    t.decimal "valor_pago_em_rp", precision: 12, scale: 2
    t.boolean "de_multiplas_notas_fiscais"
    t.bigint "liquidacao_mae_id"
    t.integer "status_restos_a_pagar"
    t.string "numero_migracao"
    t.boolean "simplificado"
    t.boolean "criado_na_contabilidade"
    t.boolean "controle_cronologico"
    t.date "previsao_de_pagamento"
    t.bigint "liquidacao_sim_id"
    t.index ["empenho_id"], name: "cont_liq_empenho_id"
  end

  create_table "contabilidade_liquidacoes_do_controle_de_pagamento", force: :cascade do |t|
    t.integer "controle_de_pagamento_id"
    t.integer "liquidacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "conta_destino_id"
  end

  create_table "contabilidade_liquidacoes_do_grupo_de_retencao", force: :cascade do |t|
    t.bigint "liquidacao_id"
    t.bigint "grupo_de_retencao_do_controle_de_pagamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_liquidacoes_dos_rps_cancelados", force: :cascade do |t|
    t.bigint "resto_a_pagar_cancelado_id"
    t.bigint "liquidacao_id"
    t.decimal "valor_cancelado", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_lotes_bancarios", force: :cascade do |t|
    t.string "numero"
    t.integer "agencia_id"
    t.integer "envio_ao_banco"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "banco_id"
    t.integer "quantidade_de_downloads"
    t.bigint "conta_bancaria_id"
    t.integer "status"
    t.date "data_do_lote"
    t.integer "tipo"
    t.date "periodo_inicial"
    t.date "periodo_final"
  end

  create_table "contabilidade_lotes_de_receitas", force: :cascade do |t|
    t.bigint "conta_bancaria_id"
    t.date "data_de_arrecadacao"
    t.integer "convenio"
    t.decimal "valor", precision: 18, scale: 2
    t.text "conteudo"
    t.integer "status"
    t.string "motivo"
    t.string "protocolo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_mapeamentos_manuais", force: :cascade do |t|
    t.integer "periodo_matriz_de_saldo_contabil_id"
    t.integer "anexo"
    t.integer "linha"
    t.integer "coluna"
    t.integer "mes"
    t.integer "tipo"
    t.decimal "valor"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_medicoes_da_obra", id: :serial, force: :cascade do |t|
    t.integer "obra_id"
    t.integer "numero"
    t.decimal "valor", precision: 18, scale: 2
    t.date "data_inicial"
    t.integer "responsavel_da_empresa_id"
    t.integer "responsavel_da_prefeitura_id"
    t.integer "engenheiro_responsavel_id"
    t.string "art", limit: 20
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_final"
    t.integer "status"
    t.text "historico"
    t.string "codigo_de_acesso"
    t.boolean "interno"
    t.date "validade_codigo_de_acesso"
  end

  create_table "contabilidade_membro_do_conselho_do_rpps", force: :cascade do |t|
    t.integer "pessoa_id"
    t.integer "representatividade_do_conselho"
    t.integer "conselho_de_rpps_id"
    t.integer "arquivo_id"
    t.date "data_de_admissao"
    t.date "data_de_saida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "arquivo_final_id"
  end

  create_table "contabilidade_membros_dos_comites_de_investimento", force: :cascade do |t|
    t.integer "pessoa_id"
    t.integer "comite_de_investimento_id"
    t.date "data_de_admissao"
    t.date "data_de_saida"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "decreto_id"
  end

  create_table "contabilidade_meses_do_cronograma_do_empenho", force: :cascade do |t|
    t.integer "mes"
    t.boolean "estornado"
    t.decimal "valor", precision: 18, scale: 2
    t.bigint "cronograma_do_empenho_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_metas_fisicas_da_liquidacao", id: :serial, force: :cascade do |t|
    t.integer "liquidacao_id"
    t.integer "meta_fisica_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "quantidade", precision: 12, scale: 2
    t.index ["liquidacao_id", "meta_fisica_id"], name: "l_mf", unique: true
  end

  create_table "contabilidade_movimentacoes_da_conta_bancaria", id: :serial, force: :cascade do |t|
    t.date "data_da_movimentacao"
    t.text "historico"
    t.integer "conta_bancaria_por_unidade_orcamentaria_id"
    t.decimal "valor", precision: 12, scale: 2
    t.decimal "decimal", precision: 12, scale: 2
    t.string "modulo_type"
    t.integer "modulo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "conciliada"
    t.integer "tipo_de_movimentacao"
    t.index ["conta_bancaria_por_unidade_orcamentaria_id", "data_da_movimentacao"], name: "index_mov_c_bancaria_unid_e_dt"
    t.index ["conta_bancaria_por_unidade_orcamentaria_id"], name: "idx_mov_conta_bancaria_unidade"
    t.index ["data_da_movimentacao"], name: "idx_mov_conta_bancaria_data"
    t.index ["modulo_type", "modulo_id"], name: "index_contabilidade_movimentacoes_on_modulo_type_and_modulo_id"
  end

  create_table "contabilidade_movimentacoes_das_contas_do_balancete", force: :cascade do |t|
    t.integer "balancete_de_verificacao_id"
    t.integer "conta_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "movimentacao_do_plano_de_contas_id"
    t.integer "tipo_de_lancamento"
    t.index ["movimentacao_do_plano_de_contas_id"], name: "contabilidademovimentacao_do_plano_de_contas_id_idx"
  end

  create_table "contabilidade_movimentacoes_do_plano_de_contas", id: :serial, force: :cascade do |t|
    t.integer "conta_por_evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.decimal "valor", precision: 12, scale: 2
    t.date "data_de_lancamento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_lancamento"
    t.string "codigo_movimentacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "titulo"
    t.text "historico"
    t.integer "categoria_de_lancamento"
    t.integer "lancamento_manual"
    t.string "numero_do_processo_judicial", limit: 60
    t.bigint "movimentacao_par_id"
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.bigint "centro_de_custo_id"
    t.string "codigo_da_conta"
    t.integer "tipo_de_movimentacao"
    t.bigint "sub_conta_pcasp_id"
    t.integer "fonte_de_recursos_id"
    t.bigint "conta_bancaria_id"
    t.boolean "validado"
    t.string "codigo_completo_fr"
    t.string "codigo_do_sub_elemento"
    t.bigint "conta_extra_orcamentaria_id"
    t.index ["gerador_id", "gerador_type", "data_de_lancamento"], name: "contabilidade_movimentacoes_do_plano_de_contas_idx_gerador_data"
    t.index ["gerador_id", "gerador_type"], name: "contabilidade_movimentacoes_do_plano_de_contas_idx_gerador"
    t.index ["id", "conta_por_evento_contabil_id", "ic_po", "ic_fp", "ic_dc", "ic_fr", "ic_co", "ic_nr", "ic_nd", "ic_fs", "ic_es", "ic_ai"], name: "contabilidade_movimentacoes_do_plano_de_contas_idx_e_ics"
    t.index ["id", "conta_por_evento_contabil_id"], name: "contabilidade_movimentacoes_do_plano_de_contas_idx_e_conta_eve"
  end

  create_table "contabilidade_movimentacoes_por_fonte_de_recursos", force: :cascade do |t|
    t.bigint "movimentacao_do_plano_de_contas_id"
    t.decimal "saldo", precision: 18, scale: 2
    t.bigint "fonte_de_recursos_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_naturezas_da_receita_da_configuracao_contabil", force: :cascade do |t|
    t.bigint "configuracao_do_evento_contabil_id"
    t.string "categoria_economica", limit: 3
    t.string "origem", limit: 1
    t.string "especie", limit: 1
    t.string "rubrica", limit: 1
    t.string "alinea", limit: 2
    t.string "subalinea", limit: 1
    t.string "detalhamento_optativo", limit: 1
    t.string "nivel_opcional_1", limit: 2
    t.string "nivel_opcional_2", limit: 2
    t.string "nivel_opcional_3", limit: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "conta_pcasp_id"
    t.bigint "conta_pcasp_da_conta_bancaria_id"
    t.string "codigo_completo", limit: 16
    t.string "categoria_economica_exclusora", limit: 3
    t.string "origem_exclusora", limit: 1
    t.string "especie_exclusora", limit: 1
    t.string "rubrica_exclusora", limit: 1
    t.string "alinea_exclusora", limit: 2
    t.string "subalinea_exclusora", limit: 1
    t.string "detalhamento_optativo_exclusora", limit: 1
    t.string "nivel_opcional_1_exclusora", limit: 2
    t.string "nivel_opcional_2_exclusora", limit: 2
    t.string "nivel_opcional_3_exclusora", limit: 2
  end

  create_table "contabilidade_naturezas_da_receita_do_saldo_consolidado", force: :cascade do |t|
    t.bigint "natureza_da_receita_id"
    t.bigint "saldo_consolidado_por_criterio_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_notas_fiscais", force: :cascade do |t|
    t.integer "liquidacao_id"
    t.integer "tipo_da_nota"
    t.string "numero_da_nota", limit: 15
    t.string "serie", limit: 5
    t.integer "tipo_de_emissao", limit: 2
    t.date "data_de_emissao"
    t.integer "tipo_de_desconto", limit: 2
    t.decimal "valor_de_desconto", precision: 12, scale: 2
    t.date "data_limite_de_expedicao"
    t.string "numero_protocolo_de_autorizacao", limit: 15
    t.string "chave_de_verificacao", limit: 50
    t.string "numero_dae", limit: 10
    t.integer "cfop_id"
    t.string "serie_do_selo", limit: 2
    t.string "numero_do_selo", limit: 10
    t.string "numero_da_serie_do_selo", limit: 10
    t.string "numeros_de_formularios", limit: 255
    t.string "chave_de_acesso", limit: 44
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "orcamentario_iss"
    t.boolean "extraorcamentario_iss"
    t.boolean "orcamentario_inss_pj"
    t.boolean "extraorcamentario_inss_pj"
    t.boolean "orcamentario_irpj"
    t.boolean "extraorcamentario_irpj"
    t.boolean "extraorcamentario_inss_pf"
    t.boolean "orcamentario_irpf"
    t.boolean "extraorcamentario_irpf"
    t.integer "arquivo_id"
  end

  create_table "contabilidade_obras", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "codigo", limit: 4
    t.string "tombo_do_terreno", limit: 20
    t.string "tombo_da_construcao", limit: 20
    t.string "licenca_ambiental", limit: 12
    t.string "orgao_licenca", limit: 80
    t.string "cei", limit: 12
    t.date "data_de_inicio"
    t.date "data_prevista_de_termino"
    t.date "data_da_licenca"
    t.text "descricao"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_administracao_id"
    t.integer "tipo_de_status_da_obra_id"
    t.integer "contrato_id"
    t.string "numero_do_crea", limit: 25
    t.boolean "abrangencia"
    t.string "apelido_da_obra", limit: 100
    t.boolean "possui_garantia"
    t.string "cep", limit: 8
    t.string "logradouro", limit: 120
    t.string "numero_logradouro", limit: 8
    t.string "complemento", limit: 80
    t.string "bairro", limit: 60
    t.integer "cidade_id"
    t.integer "conta_id"
    t.integer "arquivo_id"
    t.boolean "envia_pro_sim"
    t.date "data_de_envio_pro_sim"
    t.integer "fonte_de_origem"
    t.integer "fonte_de_contrapartida"
    t.string "programa_de_trabalho"
    t.date "data_do_alvara"
    t.string "numero_do_alvara"
    t.integer "validade_do_alvara"
    t.integer "prazo_de_garantia"
    t.integer "prazo_de_manutencao"
    t.integer "tipo_de_obra"
    t.integer "conta_pcasp_id"
    t.integer "uso_do_bem"
    t.decimal "valor_bdi", precision: 12, scale: 2, default: "0.0"
    t.boolean "possui_estudos_projetos"
    t.integer "contrato_estudos_id"
    t.decimal "valor_estudos", precision: 12, scale: 2
    t.boolean "tombada"
  end

  create_table "contabilidade_obras_do_balancete", force: :cascade do |t|
    t.bigint "obra_id"
    t.bigint "balancete_de_verificacao_id"
    t.integer "tipo_de_obra"
    t.integer "uso_do_bem"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_ocorrencias_da_liquidacao", force: :cascade do |t|
    t.bigint "liquidacao_id"
    t.integer "ocorrencia"
    t.integer "motivo"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_ocorrencias_do_empenho", force: :cascade do |t|
    t.bigint "empenho_id"
    t.integer "ocorrencia"
    t.integer "motivo"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "pessoa_conta_bancaria_antiga_id"
    t.bigint "pessoa_conta_bancaria_nova_id"
  end

  create_table "contabilidade_orcamentos_da_despesa_por_diaria", force: :cascade do |t|
    t.integer "diaria_id"
    t.integer "orcamento_da_despesa_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_orcamentos_da_despesa_por_evento_contabil", force: :cascade do |t|
    t.integer "evento_contabil_id"
    t.integer "sub_elemento_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_orcamentos_da_receita_por_evento_contabil", force: :cascade do |t|
    t.integer "receita_stn_id"
    t.integer "evento_contabil_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_orcamentos_do_contingenciamento", id: :serial, force: :cascade do |t|
    t.integer "contigenciamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_pagamentos", id: :serial, force: :cascade do |t|
    t.integer "liquidacao_id"
    t.boolean "estornado"
    t.string "numero", limit: 8
    t.date "data"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "numero_de_caixa", limit: 8
    t.boolean "prepagamento", default: false
    t.decimal "valor_pago", precision: 18, scale: 2
    t.integer "decorrente_de"
    t.boolean "isento_de_inss"
    t.boolean "isento_de_irrf"
    t.integer "status"
    t.text "historico"
    t.date "data_da_solicitacao"
    t.boolean "isento_de_iss"
    t.integer "arquivo_id"
    t.integer "tipo_de_lancamento"
    t.boolean "resto_a_pagar", default: false
    t.integer "orcamento_id"
    t.boolean "orcamentario_iss"
    t.boolean "extraorcamentario_iss"
    t.boolean "orcamentario_inss_pj"
    t.boolean "extraorcamentario_inss_pj"
    t.boolean "orcamentario_irpj"
    t.boolean "extraorcamentario_irpj"
    t.boolean "extraorcamentario_inss_pf"
    t.boolean "orcamentario_irpf"
    t.boolean "extraorcamentario_irpf"
    t.boolean "remover_retencoes_do_pagamento"
    t.integer "forma_de_pagamento"
    t.bigint "pessoa_conta_bancaria_id"
    t.boolean "processado"
    t.string "sequencial_do_sim", limit: 8
    t.decimal "valor_a_pagar_do_empenho", precision: 12, scale: 2
    t.boolean "nao_gerar_movimentacoes"
    t.integer "arquivo_de_cheque_id"
    t.integer "arquivo_de_folha_id"
    t.string "numero_do_cheque"
    t.boolean "simplificado"
    t.bigint "arquivo_liquidacao_id"
    t.index ["liquidacao_id"], name: "cont_pag_liquidacao_id"
  end

  create_table "contabilidade_pagamentos_das_retencoes", force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.bigint "retencao_id"
    t.bigint "conta_origem_id"
    t.bigint "conta_destino_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "fonte_de_recursos_destino_id"
    t.date "data_do_pagamento"
  end

  create_table "contabilidade_pagamentos_do_lote_bancario", force: :cascade do |t|
    t.bigint "lote_bancario_id"
    t.bigint "conta_bancaria_por_pagamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "pagamento_da_retencao_id"
    t.integer "numero"
    t.bigint "transferencia_financeira_id"
    t.bigint "despesa_extra_orcamentaria_id"
  end

  create_table "contabilidade_parcelamentos_do_rpps", force: :cascade do |t|
    t.integer "orcamento_id"
    t.decimal "valor_total_do_parcelamento", precision: 18, scale: 2
    t.string "competencias_parceladas", limit: 200
    t.integer "quantidade_de_parcelas"
    t.date "data_do_vencimento_da_primeira_parcela"
    t.decimal "valor_da_parcela_inicial", precision: 18, scale: 2
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "decreto_de_acordo_id"
    t.integer "decreto_de_lei_id"
  end

  create_table "contabilidade_passagens", id: :serial, force: :cascade do |t|
    t.integer "tipo"
    t.string "identificador"
    t.string "empresa"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "trajeto"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "projeto_id"
    t.string "origem"
    t.string "destino"
    t.integer "orcamento_id"
    t.integer "classificacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "cidade_origem_id"
    t.integer "cidade_destino_id"
    t.date "data_ida"
    t.date "data_volta"
    t.date "data_de_cadastro"
    t.text "historico"
    t.integer "contrato_id"
    t.integer "diaria_id"
    t.boolean "possui_vinculo_com_diaria"
  end

  create_table "contabilidade_percentuais_da_alocacao_de_recurso", force: :cascade do |t|
    t.decimal "valor", precision: 18, scale: 2
    t.integer "alocacao_de_recurso_de_rpps_id"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_periodos_matriz_de_saldos_contabeis", force: :cascade do |t|
    t.integer "mes_referencia"
    t.integer "ano_referencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
  end

  create_table "contabilidade_restos_a_pagar_cancelados", force: :cascade do |t|
    t.integer "empenho_id"
    t.integer "cancelamento_de_resto_a_pagar_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_cancelado", precision: 18, scale: 2
    t.boolean "cancelamento_por_item"
    t.decimal "saldo_original", precision: 18, scale: 2
    t.decimal "saldo_atual", precision: 18, scale: 2
    t.boolean "descrimina_itens"
  end

  create_table "contabilidade_retencoes", id: :serial, force: :cascade do |t|
    t.integer "pagamento_id"
    t.integer "imposto_id"
    t.string "imposto_type"
    t.decimal "aliquota", precision: 5, scale: 2
    t.decimal "base_de_calculo", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_calculado", precision: 12, scale: 2
    t.integer "nota_fiscal_id"
    t.integer "liquidacao_id"
    t.integer "conta_extra_orcamentaria_id"
    t.integer "conta_bancaria_id"
    t.integer "arquivo_id"
    t.integer "tipo_de_acao"
  end

  create_table "contabilidade_retornos_bancarios", force: :cascade do |t|
    t.bigint "banco_id"
    t.integer "tipo"
    t.integer "status"
    t.string "arquivo_file_name"
    t.string "arquivo_content_type"
    t.integer "arquivo_file_size"
    t.datetime "arquivo_updated_at"
    t.string "numero_da_remessa"
    t.string "numero_do_contrato"
    t.string "motivo_da_devolucao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_saldo_mapeamentos", force: :cascade do |t|
    t.integer "tipo"
    t.integer "anexo"
    t.string "linha"
    t.integer "mes"
    t.bigint "unidade_orcamentaria_id"
    t.decimal "saldo", precision: 18, scale: 2
    t.bigint "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_poder"
  end

  create_table "contabilidade_saldo_mensal_da_conta_por_informacoes", force: :cascade do |t|
    t.bigint "conta_id"
    t.integer "mes_referencia"
    t.bigint "orcamento_id"
    t.integer "tipo_de_saldo"
    t.integer "natureza_do_saldo"
    t.decimal "valor", precision: 18, scale: 2
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo_da_conta"
  end

  create_table "contabilidade_saldos_consolidados_por_criterios", force: :cascade do |t|
    t.decimal "saldo", precision: 18, scale: 2
    t.date "data"
    t.string "codigo_da_linha"
    t.integer "relatorio"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "mes_referencia"
  end

  create_table "contabilidade_saldos_diarios_da_conta", id: :serial, force: :cascade do |t|
    t.integer "conta_id"
    t.date "data_do_saldo"
    t.decimal "saldo", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["conta_id", "data_do_saldo"], name: "conta_data_saldo", unique: true
  end

  create_table "contabilidade_situacoes_da_obra", id: :serial, force: :cascade do |t|
    t.integer "obra_id"
    t.integer "engenheiro_da_obra_id"
    t.integer "tipo_de_status_da_obra"
    t.integer "tipo_de_termo"
    t.date "data_da_situacao"
    t.date "data_do_termo_de_conclusao"
    t.string "tombo_do_bem", limit: 20
    t.text "observacoes"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
  end

  create_table "contabilidade_solicitacao_de_alteracao_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "origem_do_recurso"
    t.string "justificativa"
    t.integer "projeto_id"
    t.integer "status"
    t.integer "decreto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_credito"
    t.integer "unidade_orcamentaria_id"
    t.text "motivo_indeferido"
    t.string "informacoes_adicionais"
    t.boolean "novo_programa"
    t.boolean "nova_acao"
    t.integer "programa_de_governo_da_solicitacao_id"
    t.integer "empenho_id"
    t.integer "fonte_de_recursos_id"
    t.integer "orcamento_id"
    t.integer "operacao_de_credito_id"
    t.boolean "criado_na_gestao_do_orcamento", default: false
    t.string "numero_da_alteracao_orcamentaria"
    t.date "data_da_solicitacao"
    t.integer "arquivo_id"
    t.boolean "avulso"
    t.date "data_da_legislacao"
  end

  create_table "contabilidade_sub_contas_pcasp", force: :cascade do |t|
    t.integer "topico_da_conta"
    t.string "codigo", limit: 3
    t.string "descricao"
    t.integer "titulo"
    t.bigint "centro_de_custo_id"
    t.bigint "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_de_inativacao"
    t.boolean "divida_consolidada", default: false
  end

  create_table "contabilidade_sub_elemento_vinculados", force: :cascade do |t|
    t.bigint "sub_elemento_id"
    t.bigint "orcamento_id"
    t.bigint "sub_elemento_vinculado_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["orcamento_id"], name: "index_sub_elemento_vinculados_on_orcamento_id"
    t.index ["sub_elemento_id"], name: "index_sub_elemento_vinculados_on_sub_elemento_id"
    t.index ["sub_elemento_vinculado_id"], name: "index_sub_elemento_vinculados_on_sub_elemento_vinculado_id"
  end

  create_table "contabilidade_sub_elementos_de_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.integer "elemento_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "elemento_de_gasto_id"
    t.boolean "inativo"
    t.boolean "vpd_obrigatorio"
    t.string "nd_complementar"
    t.integer "sub_conta_pcasp_id"
    t.bigint "sub_elemento_origem_id"
    t.bigint "sub_elemento_origem_tce_id"
    t.integer "uso_na_msc"
    t.index ["elemento_de_despesa_id"], name: "contabilidade_sub_elementos_de_despesa_idx_migracao"
  end

  create_table "contabilidade_sub_elementos_de_despesa_com_matriz_vinculada", force: :cascade do |t|
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "sub_elemento_de_despesa_da_matriz_id"
    t.bigint "elemento_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_sub_elementos_de_despesa_da_configuracao_contabil", force: :cascade do |t|
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "configuracao_do_evento_contabil_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "sub_elemento_do_ano_passado_id"
  end

  create_table "contabilidade_sub_elementos_de_despesa_da_matriz", force: :cascade do |t|
    t.bigint "elemento_de_despesa_id"
    t.bigint "sub_elemento_de_despesa_id"
    t.text "descricao"
    t.text "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_sub_elementos_de_despesa_do_saldo_consolidado", force: :cascade do |t|
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "saldo_consolidado_por_criterio_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_subacoes_da_solicitacao", force: :cascade do |t|
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
    t.integer "subacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_suplementacoes_do_empenho", id: :serial, force: :cascade do |t|
    t.integer "empenho_id"
    t.date "data_da_suplementacao"
    t.decimal "valor", precision: 12, scale: 2
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_taloes_de_receita", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "numero_do_talao"
    t.date "data_do_talao"
    t.decimal "valor", precision: 12, scale: 2
    t.decimal "decimal", precision: 12, scale: 2
    t.text "historico"
    t.integer "pessoa_id"
    t.integer "conta_bancaria_por_unidade_orcamentaria_id"
    t.string "documento_de_credito", limit: 20
    t.integer "tipo_de_documento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_anulado", precision: 12, scale: 2
    t.boolean "relancamento", default: false
    t.integer "natureza_da_receita_id"
    t.integer "tipo_do_talao"
    t.integer "operacao_de_credito_id"
    t.integer "transferencia_id"
    t.integer "origem_do_talao"
    t.integer "unidade_orcamentaria_id"
    t.integer "conta_extra_orcamentaria_id"
    t.integer "pagamento_id"
    t.integer "arquivo_id"
    t.boolean "talao_de_desconto", default: false
    t.integer "retencao_id"
    t.bigint "pagamento_da_retencao_id"
    t.bigint "sub_conta_pcasp_id"
    t.bigint "fonte_de_recursos_id"
  end

  create_table "contabilidade_tentativas_de_movimentacoes_do_plano_de_contas", force: :cascade do |t|
    t.bigint "evento_contabil_id"
    t.decimal "saldo", precision: 18, scale: 2
    t.date "data_da_tentativa"
    t.bigint "modulo_id"
    t.string "modulo_type"
    t.boolean "falhou"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_transacoes_da_conciliacao", force: :cascade do |t|
    t.string "tipo"
    t.string "nome"
    t.decimal "valor", precision: 18, scale: 2
    t.date "data"
    t.string "fit_id"
    t.string "numero_verificador"
    t.integer "status"
    t.bigint "conciliacao_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "movimentacao_id"
  end

  create_table "contabilidade_transferencias_de_saldo_pcasp", force: :cascade do |t|
    t.date "data_transferencia"
    t.integer "unidade_orcamentaria_id"
    t.integer "conta_debito_id"
    t.integer "conta_credito_id"
    t.integer "sub_conta_pcasp_id"
    t.text "historico"
    t.decimal "valor"
    t.integer "orcamento_id"
    t.integer "evento_contabil_id"
    t.integer "movimento_credito_id"
    t.integer "movimento_debito_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "fonte_de_recursos_conta_debito_id"
    t.bigint "fonte_de_recursos_conta_credito_id"
    t.bigint "natureza_da_despesa_conta_debito_id"
    t.bigint "natureza_da_despesa_conta_credito_id"
    t.bigint "natureza_da_receita_conta_debito_id"
    t.bigint "natureza_da_receita_conta_credito_id"
    t.bigint "funcao_e_subfuncao_conta_debito_id"
    t.bigint "funcao_e_subfuncao_conta_credito_id"
    t.integer "atributo_do_superavit_financeiro_conta_debito"
    t.integer "atributo_do_superavit_financeiro_conta_credito"
    t.bigint "conta_extra_orcamentaria_conta_debito_id"
    t.bigint "conta_extra_orcamentaria_conta_credito_id"
  end

  create_table "contabilidade_transferencias_financeiras", force: :cascade do |t|
    t.datetime "data"
    t.integer "tipo_de_transferencia"
    t.integer "tipo_de_plano_financeiro"
    t.integer "tipo_de_plano_previdenciario"
    t.decimal "valor", precision: 18, scale: 2
    t.integer "conta_bancaria_origem_id"
    t.integer "conta_bancaria_destino_id"
    t.integer "documento_bancario"
    t.integer "tipo_de_movimento"
    t.text "historico"
    t.integer "orcamento_id"
    t.integer "fonte_de_recurso_origem_id"
    t.integer "fonte_de_recurso_destino_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.string "numero_da_transferencia"
    t.integer "conta_do_grupo_de_retencoes_do_controle_de_pg_id"
    t.integer "arquivo_id"
    t.bigint "pagamento_da_retencao_id"
  end

  create_table "contabilidade_transferencias_nao_financeiras", force: :cascade do |t|
    t.datetime "data"
    t.integer "conta_id"
    t.string "numero_do_tombamento"
    t.decimal "valor_liquido_contabil", precision: 18, scale: 2
    t.string "descricao"
    t.integer "unidade_orcamentaria_origem_id"
    t.integer "unidade_orcamentaria_destino_id"
    t.integer "tipo_de_movimento"
    t.text "historico"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "contabilidade_valores_do_convenio", id: :serial, force: :cascade do |t|
    t.integer "convenio_id"
    t.integer "tipo_de_despesa_id"
    t.integer "exercicio"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "controladoria_centro_de_custos", force: :cascade do |t|
    t.bigint "unidade_gestora_id"
    t.bigint "centro_de_custos_mae_id"
    t.string "codigo"
    t.integer "nivel"
    t.string "descricao"
    t.integer "status"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "endereco"
    t.string "numero"
    t.string "complemento"
    t.string "bairro"
    t.string "cep"
    t.bigint "mae_principal_id"
  end

  create_table "controladoria_centros_de_custo_da_requisicao", force: :cascade do |t|
    t.bigint "requisicao_de_material_id"
    t.bigint "centro_de_custo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "controladoria_responsaveis_do_centro_de_custos", force: :cascade do |t|
    t.bigint "centro_de_custo_id"
    t.bigint "agente_publico_municipal_id"
    t.date "data_inicial"
    t.date "data_final"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "numero_da_portaria"
    t.boolean "responsavel_gestora"
  end

  create_table "controladoria_vistos", id: :serial, force: :cascade do |t|
    t.integer "vistoriavel_id"
    t.string "vistoriavel_type"
    t.text "mensagem"
    t.boolean "aprovado"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "vistoriador_id"
    t.date "data_do_parecer"
    t.index ["vistoriavel_type", "vistoriavel_id"], name: "index_controladoria_vistos_on_vistoriavel_type_vistoriavel_id"
  end

  create_table "customizacoes", id: :serial, force: :cascade do |t|
    t.integer "configuracao_id"
    t.string "campo_assinatura_do_relatorio_do_pedido"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "mostrar_campo_assinatura_no_projeto"
    t.integer "relatorios_margem_superior", default: 30
    t.integer "relatorios_margem_direita", default: 10
    t.integer "relatorios_margem_inferior", default: 20
    t.integer "relatorios_margem_esquerda", default: 15
    t.boolean "exibir_nome_orgao", default: true
    t.boolean "exibir_numero_pedido", default: true
    t.boolean "exibir_numero_pb", default: true
    t.boolean "exibir_numero_processo", default: true
    t.boolean "exibir_prefeitura_municipal", default: true
  end

  create_table "data_migrations", id: false, force: :cascade do |t|
    t.string "version", null: false
    t.index ["version"], name: "unique_data_migrations", unique: true
  end

  create_table "documentos_do_usuario", force: :cascade do |t|
    t.integer "usuario_id"
    t.string "titulo"
    t.string "anexo_file_name"
    t.string "anexo_content_type"
    t.integer "anexo_file_size"
    t.date "data_de_anexo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "empenhos_para_fechamento_pcasp", force: :cascade do |t|
    t.bigint "orcamento_id"
    t.bigint "empenho_id"
    t.bigint "liquidacao_id"
    t.bigint "pagamento_id"
    t.decimal "valor", precision: 18, scale: 2
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "erros_de_integridade", force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "folgas", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.date "data_da_folga"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_almoxarifados", force: :cascade do |t|
    t.string "codigo"
    t.string "nome"
    t.string "email"
    t.string "cep"
    t.string "logradouro"
    t.string "numero"
    t.string "bairro"
    t.string "complemento"
    t.integer "almoxarifado_principal_id"
    t.integer "agente_publico_municipal_id"
    t.integer "cidade_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_almoxarifado"
    t.integer "farmaceutico_id"
    t.bigint "orcamento_id"
    t.integer "escola_id"
    t.boolean "contem_escola", default: false
  end

  create_table "gestao_de_estoque_comissoes", force: :cascade do |t|
    t.date "data_da_portaria"
    t.string "numero_da_portaria"
    t.string "nome_da_comissao"
    t.integer "tipo_de_comissao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo"
    t.date "data_de_extincao"
    t.string "numero_da_portaria_de_extincao"
  end

  create_table "gestao_de_estoque_consumos", force: :cascade do |t|
    t.date "data_de_consumo"
    t.string "codigo"
    t.integer "status"
    t.bigint "almoxarifado_id"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "responsavel_id"
    t.bigint "orcamento_id"
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "separa_itens_por_setor"
    t.text "setor_solicitante"
    t.text "requisitante"
    t.text "motivo_de_recusa"
    t.boolean "gerado_por_api", default: false
    t.boolean "usa_escola", default: false
    t.integer "escola_id"
  end

  create_table "gestao_de_estoque_controle_de_extintores", force: :cascade do |t|
    t.string "numero_do_extintor"
    t.date "data_de_fabricacao"
    t.date "data_da_ultima_manutencao"
    t.date "data_da_ultima_recarga"
    t.integer "tipo_de_extintor"
    t.integer "prazo_para_inspecao"
    t.integer "prazo_para_recarga"
    t.integer "almoxarifado_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_controle_de_pragas", force: :cascade do |t|
    t.string "numero"
    t.date "data_da_dedetizacao"
    t.integer "empresa_responsavel_id"
    t.string "tipo_de_praga"
    t.integer "frequencia_media"
    t.date "data_da_proxima_dedetizacao"
    t.integer "almoxarifado_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_controle_dos_almoxarifados", force: :cascade do |t|
    t.date "data_de_encerramento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
    t.integer "ano_encerramento"
  end

  create_table "gestao_de_estoque_devolucoes_de_materiais", force: :cascade do |t|
    t.string "numero_da_devolucao"
    t.bigint "orcamento_id"
    t.integer "status"
    t.date "data_da_devolucao"
    t.text "historico_da_devolucao"
    t.text "motivo_da_recusa"
    t.integer "tipo_de_devolucao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "origem_id"
    t.string "origem_type"
  end

  create_table "gestao_de_estoque_escolas", force: :cascade do |t|
    t.string "nome"
    t.string "diretor"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "endereco"
    t.text "inep"
    t.date "data_inicial"
    t.date "data_final"
    t.integer "status"
    t.integer "dependencia_administrativa"
  end

  create_table "gestao_de_estoque_estoques", force: :cascade do |t|
    t.integer "item_id"
    t.integer "unidade_de_medida_id"
    t.decimal "saldo_da_ordem_de_compra", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "almoxarifado_id"
    t.bigint "unidade_orcamentaria_id"
    t.decimal "valor_unitario_medio", precision: 18, scale: 6
    t.integer "tipo_de_material"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "classificacao_do_detalhamento_id"
    t.integer "orcamento_id"
    t.integer "programa_por_escola_id"
  end

  create_table "gestao_de_estoque_informacoes_extras", force: :cascade do |t|
    t.date "validade"
    t.integer "aspecto_geral"
    t.boolean "perecivel"
    t.string "lote_de_fabricacao"
    t.bigint "item_do_recebimento_de_material_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_itens_da_transferencia", force: :cascade do |t|
    t.bigint "transferencia_id"
    t.bigint "item_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.decimal "total", precision: 18, scale: 2
    t.integer "unidade_de_medida_de_conversao_id"
    t.text "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "estoque_id"
    t.decimal "quantidade_disponivel", precision: 18, scale: 2
    t.integer "programa_por_escola_id"
  end

  create_table "gestao_de_estoque_itens_das_devolucoes_de_materiais", force: :cascade do |t|
    t.bigint "devolucao_de_material_id"
    t.bigint "item_id"
    t.decimal "quantidade_devolvida", precision: 18, scale: 2
    t.integer "unidade_de_medida_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_itens_do_consumo", force: :cascade do |t|
    t.bigint "consumo_id"
    t.bigint "estoque_id"
    t.bigint "item_id"
    t.bigint "unidade_de_medida_id"
    t.decimal "quantidade_consumida", precision: 18, scale: 2
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.decimal "total", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_de_reconhecimento", default: 1
  end

  create_table "gestao_de_estoque_itens_do_consumo_por_programa", force: :cascade do |t|
    t.bigint "item_do_consumo_id"
    t.bigint "estoque_id"
    t.bigint "item_id"
    t.bigint "programa_por_consumo_id"
    t.decimal "quantidade"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_itens_do_programa_por_almoxarifado_e_transfer", force: :cascade do |t|
    t.bigint "programa_por_almoxarifado_e_transferencia_id"
    t.bigint "item_id"
    t.bigint "estoque_id"
    t.bigint "item_da_transferencia_id"
    t.decimal "quantidade"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "quantidade_solicitada"
  end

  create_table "gestao_de_estoque_itens_do_recebimento_de_materiais", force: :cascade do |t|
    t.integer "item_id"
    t.integer "recebimento_de_material_id"
    t.decimal "quantidade", precision: 16, scale: 4
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.string "marca"
    t.decimal "total", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "quantidade_de_conversao", precision: 14, scale: 6
    t.integer "unidade_de_medida_de_conversao_id"
    t.decimal "saldo_em_quantidade", precision: 14, scale: 4
    t.decimal "valor_unitario_de_conversao", precision: 18, scale: 6
    t.bigint "item_original_id"
  end

  create_table "gestao_de_estoque_legislacao_bolsa_de_materiais", force: :cascade do |t|
    t.date "data_da_legislacao"
    t.integer "tipo_de_legislacao"
    t.integer "numero_do_ato_normativo"
    t.string "titulo"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_manutencoes_do_extintor", force: :cascade do |t|
    t.bigint "controle_de_extintor_id"
    t.date "data_da_manutencao"
    t.integer "tipo_de_manutencao"
    t.integer "tipo_de_prazo"
    t.integer "prazo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "empresa_responsavel"
  end

  create_table "gestao_de_estoque_membros_da_comissao", force: :cascade do |t|
    t.integer "comissao_id"
    t.integer "agente_publico_municipal_id"
    t.integer "tipo_de_membro"
    t.date "data_de_admissao"
    t.date "data_de_saida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_movimentacoes_do_estoque", force: :cascade do |t|
    t.integer "estoque_id"
    t.decimal "quantidade_entrada", precision: 18, scale: 2
    t.decimal "quantidade_saida", precision: 18, scale: 2
    t.integer "origem_id"
    t.string "origem_type"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "unidade_orcamentaria_id"
    t.integer "almoxarifado_id"
    t.decimal "valor_unitario", precision: 18, scale: 6
    t.decimal "valor_total", precision: 18, scale: 2
    t.date "data_da_movimentacao"
  end

  create_table "gestao_de_estoque_ocorrencias_dos_recebimentos_de_materiais", force: :cascade do |t|
    t.bigint "recebimento_de_material_id"
    t.integer "tipo_de_ocorrencia"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_programa_por_escolas", force: :cascade do |t|
    t.bigint "escola_id"
    t.bigint "programa_id"
    t.date "data_inicial"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_programas_escolares", force: :cascade do |t|
    t.bigint "acao_id"
    t.string "nome"
    t.date "data_inicial"
    t.date "data_final"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_programas_por_almoxarifado_e_transferencia", force: :cascade do |t|
    t.bigint "almoxarifado_id"
    t.bigint "transferencia_id"
    t.bigint "programa_por_escola_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_programas_por_consumo", force: :cascade do |t|
    t.bigint "consumo_id"
    t.bigint "escola_id"
    t.bigint "programa_por_escola_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_recebimento_de_materiais", force: :cascade do |t|
    t.string "codigo"
    t.date "data_do_recebimento"
    t.integer "tipo_de_material"
    t.integer "tipo_de_entrada"
    t.integer "ordem_de_compra_id"
    t.integer "orcamento_id"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_recebimento"
    t.string "numero_da_nota", limit: 15
    t.string "serie", limit: 5
    t.date "data_de_emissao"
    t.integer "fornecedor_id"
    t.integer "almoxarifado_id"
    t.integer "unidade_orcamentaria_id"
    t.string "numero_do_empenho"
    t.integer "exercicio_do_empenho"
    t.integer "modalidade_de_licitacao"
    t.string "numero_do_processo"
    t.string "numero_do_contrato"
    t.string "numero_da_ordem_de_compra"
    t.boolean "avulso"
    t.date "data_do_empenho"
    t.integer "classificacao"
    t.integer "doador_id"
    t.string "fabricante"
    t.string "lote"
    t.date "validade"
    t.integer "status"
    t.boolean "perecivel"
    t.integer "odor"
    t.integer "textura"
    t.integer "cor"
    t.integer "aspecto_geral"
    t.integer "condicao_da_embalagem"
    t.string "registro_no_ministerio_da_saude"
    t.integer "classificacao_tipo_de_material"
    t.bigint "transferencia_id"
    t.bigint "almoxarifado_de_destino_id"
    t.bigint "unidade_orcamentaria_de_destino_id"
    t.bigint "devolucao_de_material_id"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "classificacao_do_detalhamento_id"
    t.date "data_provisoria"
    t.text "local"
    t.integer "status_de_reconhecimento", default: 1
  end

  create_table "gestao_de_estoque_responsaveis_dos_almoxarifados", force: :cascade do |t|
    t.bigint "almoxarifado_id"
    t.bigint "agente_publico_municipal_id"
    t.date "data_de_entrada"
    t.date "data_de_saida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_da_portaria"
    t.integer "numero_da_portaria"
  end

  create_table "gestao_de_estoque_setores", force: :cascade do |t|
    t.bigint "item_do_consumo_id"
    t.string "nome"
    t.decimal "quantidade", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_sub_estoques_por_validade", force: :cascade do |t|
    t.date "validade"
    t.bigint "estoque_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "gestao_de_estoque_transferencias", force: :cascade do |t|
    t.integer "tipo_de_material"
    t.integer "tipo_de_entrada"
    t.integer "almoxarifado_id"
    t.integer "unidade_orcamentaria_id"
    t.integer "almoxarifado_de_destino_id"
    t.integer "unidade_orcamentaria_de_destino_id"
    t.boolean "transferir_todos_os_itens"
    t.integer "classificacao_tipo_de_material"
    t.text "observacao"
    t.date "data_de_transferencia"
    t.string "codigo"
    t.integer "status"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "usa_programa", default: false
    t.boolean "confirmada_por_api", default: false
  end

  create_table "gestao_de_estoque_unidades_orcamentarias_do_almoxarifado", force: :cascade do |t|
    t.integer "almoxarifado_id"
    t.integer "unidade_orcamentaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "consumo_imediato"
    t.boolean "controle_de_estoque"
  end

  create_table "lancamentos_da_despesa_rp_deletados", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "orcamento_da_despesa_id"
    t.date "data_do_lancamento"
    t.decimal "valor", precision: 12, scale: 2
    t.decimal "saldo", precision: 12, scale: 2
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "sequencia"
  end

  create_table "licitacao_acoes_da_operacao_de_credito_do_contrato", id: :serial, force: :cascade do |t|
    t.integer "operacao_de_credito_do_contrato_id"
    t.integer "componente_da_operacao_de_credito_id"
    t.integer "acao_do_componente_id"
    t.decimal "valor_da_acao", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_acoes_da_operacao_de_credito_do_projeto", id: :serial, force: :cascade do |t|
    t.integer "operacao_de_credito_do_projeto_id"
    t.integer "componente_da_operacao_de_credito_id"
    t.integer "acao_do_componente_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_acoes_do_etp", force: :cascade do |t|
    t.bigint "etp_id", null: false
    t.bigint "acao_id", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["acao_id"], name: "index_licitacao_acoes_do_etp_on_acao_id"
    t.index ["etp_id"], name: "index_licitacao_acoes_do_etp_on_etp_id"
  end

  create_table "licitacao_aditivos", id: :serial, force: :cascade do |t|
    t.integer "contrato_id"
    t.date "data_do_aditivo"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.integer "modalidade"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "numero"
    t.integer "arquivo_id"
    t.integer "legislacao_id"
    t.text "objeto"
    t.boolean "envia_pro_sim", default: true
    t.integer "unidade_orcamentaria_id"
    t.integer "orgao_id"
    t.integer "orcamento_id"
    t.integer "contratado_id"
    t.date "data_de_envio_pro_sim"
    t.string "art"
    t.boolean "altera_marca", default: false
    t.integer "status", default: 0
    t.date "data_de_solicitacao"
    t.text "justificativa"
    t.text "objeto_do_contrato"
    t.bigint "responsavel_do_pedido_id"
    t.string "pncp_id"
    t.boolean "enviar_para_pncp", default: false
    t.boolean "enviado_pncp", default: false
    t.date "pncp_data_cadastro"
    t.string "url_pncp"
    t.integer "quantidade_parcelas_pncp"
    t.decimal "valor_parcela_pncp", precision: 18, scale: 4
  end

  create_table "licitacao_aditivos_da_ata", force: :cascade do |t|
    t.integer "ata_de_registro_de_precos_id"
    t.date "data_do_aditivo"
    t.integer "numero"
    t.text "objeto"
    t.integer "modalidade"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status", default: 0
    t.date "data_inicio_vigencia"
    t.date "data_final_vigencia"
    t.integer "legislacao_id"
    t.text "justificativa"
  end

  create_table "licitacao_apostilamentos", force: :cascade do |t|
    t.date "data_apostilamento"
    t.integer "modalidade"
    t.integer "legislacao_id"
    t.integer "contrato_id"
    t.text "objeto"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
  end

  create_table "licitacao_arquivos_bll_dos_processos", force: :cascade do |t|
    t.bigint "processo_id"
    t.boolean "processado"
    t.integer "tipo_de_arquivo"
    t.string "file_file_name"
    t.string "file_content_type"
    t.integer "file_file_size"
    t.datetime "file_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_atas_das_sessoes", id: :serial, force: :cascade do |t|
    t.text "texto"
    t.integer "projeto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_atas_de_registro_de_precos", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.string "numero", limit: 30
    t.text "texto_da_ata"
    t.integer "modelo_do_documento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_inicio_de_vigencia"
    t.date "data_final_de_vigencia"
    t.integer "status"
    t.boolean "enviar_para_pncp"
    t.boolean "enviado_pncp"
    t.string "compra_cnpj"
    t.bigint "compra_ano"
    t.bigint "compra_sequencial"
    t.date "pncp_data_cadastro"
    t.string "url_pncp"
    t.string "pncp_id"
    t.date "data_da_assinatura"
  end

  create_table "licitacao_categorias_da_solucao", force: :cascade do |t|
    t.integer "solucao_do_etp_id"
    t.integer "categoria_id"
    t.integer "subcategoria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_categorias_do_pedido", id: :serial, force: :cascade do |t|
    t.integer "pedido_id"
    t.integer "categoria_id"
    t.integer "subcategoria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_comissoes", id: :serial, force: :cascade do |t|
    t.integer "unidade_gestora_id"
    t.string "numero"
    t.string "numero_da_portaria"
    t.integer "tipo_de_comissao"
    t.date "data_da_extincao"
    t.string "numero_da_portaria_de_extincao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.string "nome"
    t.date "data_da_portaria"
    t.string "cep"
    t.string "rua"
    t.string "bairro"
    t.integer "cidade_id"
    t.string "numero_da_rua"
    t.bigint "orcamento_id"
    t.date "data_de_criacao"
    t.boolean "de_parceria"
  end

  create_table "licitacao_configuracoes_sim_do_projeto", force: :cascade do |t|
    t.integer "projeto_id"
    t.date "data_de_envio"
    t.integer "arquivo_id"
    t.boolean "primeiro_envio"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_contratados", id: :serial, force: :cascade do |t|
    t.integer "pessoa_do_projeto_id"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_contratos", id: :serial, force: :cascade do |t|
    t.string "numero", limit: 15
    t.date "data_do_contrato"
    t.integer "tipo_de_contrato"
    t.integer "modalidade"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.text "motivo_do_cancelamento"
    t.text "texto_do_contrato"
    t.integer "modelo_do_documento_id"
    t.integer "contratado_id"
    t.integer "unidade_orcamentaria_por_pedido_id"
    t.integer "ata_de_registro_de_preco_id"
    t.integer "arquivo_id"
    t.text "objeto"
    t.text "justificativa"
    t.date "data_da_solicitacao"
    t.boolean "envia_pro_sim"
    t.integer "orcamento_id"
    t.integer "projeto_id"
    t.date "data_de_envio_pro_sim"
    t.integer "unidade_orcamentaria_do_exercicio_id"
    t.boolean "discriminacao_obrigatoria_de_itens", default: true
    t.decimal "valor", precision: 12, scale: 2
    t.string "numero_da_solicitacao"
    t.integer "responsavel_fornecedor_id"
    t.bigint "saldo_total"
    t.bigint "responsavel_do_pedido_id"
    t.string "compra_cnpj"
    t.bigint "compra_ano"
    t.bigint "compra_sequencial"
    t.boolean "enviar_para_pncp", default: false
    t.boolean "enviado_pncp", default: false
    t.datetime "pncp_data_cadastro"
    t.integer "tipo_contrato_pncp"
    t.integer "tipo_processo_pncp"
    t.integer "quantidade_parcelas_pncp"
    t.decimal "valor_parcela_pncp", precision: 18, scale: 4
    t.string "url_pncp"
    t.string "pncp_id"
    t.index ["projeto_id"], name: "index_licitacao_contratos_on_projeto_id"
  end

  create_table "licitacao_documentos_da_ata", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "modelo_do_documento_id"
    t.integer "ata_de_registro_de_precos_id"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_documento"
    t.string "titulo_personalizado"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.boolean "enviar_para_pncp"
    t.boolean "enviado_para_o_pncp"
    t.string "url_pncp"
    t.date "pncp_data_cadastro"
  end

  create_table "licitacao_documentos_da_cotacao_do_pedido", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "pessoa_do_pedido_id"
    t.integer "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_documentos_do_aditivo", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "modelo_do_documento_id"
    t.integer "aditivo_id"
    t.string "numero"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.boolean "enviar_para_pncp", default: false
    t.boolean "enviado_para_o_pncp", default: false
    t.string "url_pncp"
    t.date "pncp_data_cadastro"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
  end

  create_table "licitacao_documentos_do_aditivo_da_ata", force: :cascade do |t|
    t.bigint "usuario_id"
    t.bigint "aditivo_da_ata_id"
    t.bigint "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.date "data_do_documento"
    t.text "texto"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_documentos_do_apostilamento", force: :cascade do |t|
    t.integer "tipo_de_documento"
    t.string "titulo_personalizado"
    t.string "numero"
    t.integer "apostilamento_id"
    t.date "data_do_documento"
    t.text "texto"
    t.integer "modelo_do_documento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_documentos_do_contrato", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "modelo_do_documento_id"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.integer "contrato_id"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "titulo_personalizado"
    t.boolean "enviar_para_pncp"
    t.boolean "enviado_para_o_pncp"
    t.string "url_pncp"
    t.date "pncp_data_cadastro"
    t.integer "tipo_de_documento"
  end

  create_table "licitacao_documentos_do_etp", force: :cascade do |t|
    t.string "nome"
    t.text "descricao"
    t.integer "etp_id"
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "modelo_do_documento_id"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
  end

  create_table "licitacao_documentos_do_licitante", id: :serial, force: :cascade do |t|
    t.integer "documento_id"
    t.boolean "recebido"
    t.integer "pessoa_do_projeto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_documentos_do_pedido", id: :serial, force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "pedido_id"
    t.integer "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_documentos_do_processo", id: :serial, force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.integer "projeto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.integer "status_parecer"
    t.string "numero"
    t.integer "agente_publico_municipal_id"
    t.boolean "documento_do_projeto"
  end

  create_table "licitacao_empenhos_retroativos_do_contrato", force: :cascade do |t|
    t.integer "contrato_id"
    t.string "numero_empenho"
    t.date "data_do_empenho"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_erratas_da_ata", force: :cascade do |t|
    t.date "data_da_errata"
    t.text "justificativa"
    t.bigint "ata_de_registro_de_precos_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_etps", force: :cascade do |t|
    t.string "numero_estudo"
    t.text "objeto"
    t.bigint "unidade_orcamentaria_id"
    t.decimal "valor_estimado_estudo"
    t.text "necessidade_da_contratacao"
    t.date "data_previsao_contratacao"
    t.integer "status"
    t.bigint "pedido_id"
    t.date "data_estudo"
    t.bigint "responsavel_id"
    t.boolean "pode_convidar_unidades"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "acao_fora_gerencial"
  end

  create_table "licitacao_fiscais_do_contrato", force: :cascade do |t|
    t.string "cargo"
    t.string "numero_da_portaria"
    t.date "vigencia_inicial_da_portaria"
    t.integer "contrato_id"
    t.integer "agente_publico_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "ativo", default: true
    t.string "matricula"
  end

  create_table "licitacao_gestores_do_contrato", force: :cascade do |t|
    t.integer "contrato_id"
    t.integer "agente_publico_id"
    t.string "numero_da_portaria"
    t.date "vigencia_inicial_da_portaria"
    t.boolean "ativo", default: true
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "matricula"
    t.string "cargo"
  end

  create_table "licitacao_impactos_ambientais_do_etp", force: :cascade do |t|
    t.bigint "etp_id", null: false
    t.text "impacto"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["etp_id"], name: "index_licitacao_impactos_ambientais_do_etp_on_etp_id"
  end

  create_table "licitacao_importacoes_tcm_contratos", id: :serial, force: :cascade do |t|
    t.integer "importacao_tcm_processo_id"
    t.string "numero_do_contrato"
    t.bigint "exercicio"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "contrato_id"
  end

  create_table "licitacao_importacoes_tcm_itens", id: :serial, force: :cascade do |t|
    t.integer "importacao_tcm_processo_id"
    t.integer "item_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_importacoes_tcm_processos", id: :serial, force: :cascade do |t|
    t.string "numero_do_processo"
    t.integer "projeto_id"
    t.bigint "exercicio"
    t.boolean "importar_contratos"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "categoria_id"
    t.integer "unidade_orcamentaria_id"
    t.boolean "cria_apenas_pedido"
    t.integer "pedido_id"
    t.boolean "cria_processo_completo"
    t.integer "status"
    t.integer "modalidade"
    t.string "orgao"
    t.string "descricao"
    t.date "data_da_importacao"
    t.boolean "importar"
  end

  create_table "licitacao_impugnacoes", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.date "data_da_impugnacao"
    t.text "motivo"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_da_ata", force: :cascade do |t|
    t.integer "ata_de_registro_de_preco_id"
    t.integer "item_do_lote_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_da_ordem_de_compra", id: :serial, force: :cascade do |t|
    t.integer "ordem_de_compra_id"
    t.decimal "quantidade", precision: 18, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "item_id"
    t.decimal "valor_unitario", precision: 14, scale: 6
    t.decimal "total", precision: 18, scale: 4
    t.string "marca"
  end

  create_table "licitacao_itens_da_solucao", force: :cascade do |t|
    t.integer "solucoes_do_etp_id"
    t.integer "item_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "preco_estimativo"
    t.string "marca"
    t.decimal "valor_unitario"
    t.integer "solucao_do_etp_id"
    t.index ["solucao_do_etp_id", "preco_estimativo"], name: "index_item_da_solucao"
  end

  create_table "licitacao_itens_da_solucao_do_etp_por_unidade_orcamentaria", force: :cascade do |t|
    t.integer "item_da_solucao_id"
    t.decimal "quantidade"
    t.integer "unidade_orcamentaria_por_solucao_do_etp_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_aditivo", id: :serial, force: :cascade do |t|
    t.integer "item_do_lote_id"
    t.integer "aditivo_id"
    t.decimal "quantidade", precision: 18, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_adicionado", precision: 12, scale: 3
    t.decimal "total", precision: 12, scale: 2
    t.decimal "diferenca_da_quantidade", precision: 18, scale: 6
    t.decimal "quantidade_prorrogada"
    t.decimal "quantidade_acrescida"
    t.decimal "quantidade_reduzida"
  end

  create_table "licitacao_itens_do_aditivo_da_ata", force: :cascade do |t|
    t.integer "item_do_lote_id"
    t.decimal "quantidade"
    t.decimal "valor_adicionado", precision: 18, scale: 4
    t.integer "aditivo_da_ata_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_aditivo_de_alteracao_de_marca", force: :cascade do |t|
    t.integer "aditivo_id"
    t.integer "item_do_lote_id"
    t.string "marca_atualizada"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_aditivo_de_mudanca", id: :serial, force: :cascade do |t|
    t.integer "aditivo_id"
    t.integer "item_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "item_origem_id"
  end

  create_table "licitacao_itens_do_apostilamento", force: :cascade do |t|
    t.bigint "apostilamento_id"
    t.decimal "preco_unitario", precision: 18, scale: 2
    t.decimal "quantidade", precision: 18, scale: 2
    t.bigint "item_do_contrato_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_contrato", id: :serial, force: :cascade do |t|
    t.integer "contrato_id"
    t.integer "item_do_lote_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor", precision: 18, scale: 2
    t.decimal "total", precision: 12, scale: 2
  end

  create_table "licitacao_itens_do_empenho_retroativo_do_contrato", force: :cascade do |t|
    t.integer "empenho_retroativo_do_contrato_id"
    t.decimal "quantidade", precision: 18, scale: 6
    t.decimal "valor_unitario", precision: 18, scale: 2
    t.decimal "total", precision: 18, scale: 6
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "item_do_contrato_id"
  end

  create_table "licitacao_itens_do_lote", id: :serial, force: :cascade do |t|
    t.integer "lote_id"
    t.integer "item_do_pedido_id"
    t.integer "ordem"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "anulado"
    t.text "motivo_da_anulacao"
    t.integer "identificador"
    t.integer "arquivo_id"
    t.integer "sequencia"
  end

  create_table "licitacao_itens_do_lote_do_pedido", force: :cascade do |t|
    t.integer "lote_do_pedido_id"
    t.integer "item_do_pedido_id"
    t.integer "ordem"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_orcamento_da_despesa_do_aditivo", force: :cascade do |t|
    t.integer "orcamento_da_despesa_do_aditivo_id"
    t.integer "item_do_aditivo_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.decimal "total_por_item", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "item_do_contrato_id"
  end

  create_table "licitacao_itens_do_orcamento_da_despesa_do_apostilamento", force: :cascade do |t|
    t.bigint "orcamento_da_despesa_do_apostilamento_id"
    t.bigint "item_do_contrato_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.decimal "saldo", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_itens_do_orcamento_da_despesa_do_contrato", force: :cascade do |t|
    t.integer "orcamento_da_despesa_do_contrato_id"
    t.integer "item_do_contrato_id"
    t.decimal "quantidade", precision: 18, scale: 4
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "total_por_item", precision: 18, scale: 2
  end

  create_table "licitacao_itens_do_orcamento_da_despesa_por_projeto", force: :cascade do |t|
    t.integer "orcamento_da_despesa_por_projeto_id"
    t.integer "item_do_lote_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "total_por_item", precision: 18, scale: 2
  end

  create_table "licitacao_itens_do_pedido", id: :serial, force: :cascade do |t|
    t.integer "item_id"
    t.integer "pedido_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "motivo"
    t.boolean "valido"
    t.integer "tipo"
    t.decimal "preco_estimativo", precision: 18, scale: 4
    t.string "marca"
    t.boolean "por_valor_previsto"
    t.integer "sequencia"
    t.index ["item_id"], name: "index_licitacao_itens_do_pedido_on_item_id"
    t.index ["pedido_id", "preco_estimativo"], name: "index_item_do_pedido"
  end

  create_table "licitacao_itens_do_pedido_por_pessoa", id: :serial, force: :cascade do |t|
    t.integer "item_do_pedido_id"
    t.integer "pessoa_do_pedido_id"
    t.decimal "preco_de_cotacao", precision: 18, scale: 6
    t.string "marca"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "valido"
    t.text "motivo"
    t.index ["item_do_pedido_id", "preco_de_cotacao"], name: "index_item_do_pedido_por_pessoa"
  end

  create_table "licitacao_itens_do_pedido_por_unidade_orcamentaria", id: :serial, force: :cascade do |t|
    t.integer "item_do_pedido_id"
    t.decimal "quantidade", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "unidade_orcamentaria_por_pedido_id"
    t.decimal "valor_previsto_desconto", precision: 12, scale: 4
    t.integer "periodicidade"
    t.integer "unidade_de_medida_id"
    t.index ["item_do_pedido_id", "quantidade", "unidade_orcamentaria_por_pedido_id", "valor_previsto_desconto", "periodicidade"], name: "index_item_do_pedido_por_unidade"
  end

  create_table "licitacao_itens_do_projeto_por_pessoa", id: :serial, force: :cascade do |t|
    t.integer "item_do_lote_id"
    t.integer "pessoa_do_projeto_id"
    t.decimal "preco", precision: 14, scale: 6
    t.string "marca"
    t.boolean "valido"
    t.text "motivo_da_anulacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "final", default: false
    t.index ["final", "preco"], name: "index_licitacao_itens_do_projeto_por_pessoa_on_final_and_preco"
  end

  create_table "licitacao_lances", id: :serial, force: :cascade do |t|
    t.integer "rodada_id"
    t.integer "pessoa_do_projeto_id"
    t.decimal "valor", precision: 15, scale: 4
    t.boolean "desistir"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_lotes", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.integer "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "anulado", default: false
    t.boolean "lances_abertos"
    t.integer "criterio_de_julgamento"
    t.integer "tipo"
    t.integer "ganhador_id"
    t.text "justificativa"
    t.integer "status"
    t.integer "tipo_de_agrupamento"
  end

  create_table "licitacao_lotes_do_contrato", id: :serial, force: :cascade do |t|
    t.integer "lote_id"
    t.integer "contrato_id"
  end

  create_table "licitacao_lotes_do_pedido", force: :cascade do |t|
    t.integer "pedido_id"
    t.integer "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_medidas_mitigadoras_do_etp", force: :cascade do |t|
    t.bigint "etp_id", null: false
    t.text "medida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["etp_id"], name: "index_licitacao_medidas_mitigadoras_do_etp_on_etp_id"
  end

  create_table "licitacao_membros_da_comissao", id: :serial, force: :cascade do |t|
    t.integer "comissao_id"
    t.integer "agente_publico_municipal_id"
    t.integer "tipo"
    t.date "data_de_admissao"
    t.date "data_de_saida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
  end

  create_table "licitacao_modelos_de_documento", id: :serial, force: :cascade do |t|
    t.string "titulo"
    t.integer "tipo"
    t.text "conteudo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modalidade"
    t.boolean "mostrar_cidade_data"
    t.integer "lei"
  end

  create_table "licitacao_ocorrencias", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.integer "numero"
    t.date "data_da_ocorrencia"
    t.string "horario_da_ocorrencia"
    t.text "motivo"
    t.integer "tipo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "ata_da_sessao_id"
  end

  create_table "licitacao_ocorrencias_da_ordem_de_compra", force: :cascade do |t|
    t.bigint "ordem_de_compra_id"
    t.integer "ocorrencia"
    t.text "motivo"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_operacoes_de_credito_do_contrato", id: :serial, force: :cascade do |t|
    t.integer "contrato_id"
    t.integer "operacao_de_credito_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_operacoes_de_credito_do_projeto", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.integer "operacao_de_credito_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_orcamento_da_despesa_do_aditivos", id: :serial, force: :cascade do |t|
    t.integer "aditivo_id"
    t.integer "orcamento_da_despesa_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_orcamentos_da_despesa_do_apostilamento", force: :cascade do |t|
    t.integer "orcamento_da_despesa_id"
    t.integer "apostilamento_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_orcamentos_da_despesa_do_contrato", id: :serial, force: :cascade do |t|
    t.integer "contrato_id"
    t.integer "orcamento_da_despesa_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 14, scale: 4
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_orcamentos_da_despesa_por_pedido", force: :cascade do |t|
    t.integer "pedido_id"
    t.integer "orcamento_da_despesa_id"
    t.integer "sub_elemento_de_despesa_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_orcamentos_da_despesa_por_projetos", id: :serial, force: :cascade do |t|
    t.integer "orcamento_da_despesa_id"
    t.integer "projeto_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor", precision: 14, scale: 4
    t.integer "sub_elemento_de_despesa_id"
    t.integer "arquivo_id"
  end

  create_table "licitacao_ordens_de_compra", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.date "data_da_solicitacao"
    t.string "numero"
    t.integer "status"
    t.string "motivo_do_cancelamento"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "setor_solicitante"
    t.string "observacao"
    t.string "local_de_entrega"
    t.integer "empenho_id"
    t.string "endereco"
    t.boolean "descrimina_itens_do_empenho"
    t.date "prazo_de_entrega"
    t.integer "almoxarifado_id"
    t.text "motivo_da_recusa"
    t.bigint "ordem_de_compra_id"
    t.boolean "avulso"
    t.integer "tipo_de_ordem_de_compra"
    t.integer "dados_do_faturamento_pessoa_id"
  end

  create_table "licitacao_pedidos", id: :serial, force: :cascade do |t|
    t.date "data_do_pedido"
    t.date "data_limite_para_complementacao"
    t.integer "usuario_id"
    t.integer "status"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
    t.integer "unidade_orcamentaria_id"
    t.text "objeto"
    t.text "motivo_do_cancelamento"
    t.string "prazo_de_entrega"
    t.text "outras_informacoes"
    t.string "numero"
    t.integer "legislacao_id"
    t.boolean "convidar_unidades"
    t.string "local_de_entrega"
    t.boolean "possui_periodicidade_nos_itens"
    t.text "justificativa"
    t.text "justificativa_da_cotacao"
    t.date "data_impressao_mapa"
    t.boolean "projeto_simplificado"
    t.integer "pedido_origem_id"
    t.text "informacoes_da_cotacao"
    t.boolean "dotacoes_no_pedido", default: false
    t.string "vigencia"
    t.string "responsavel_pelo_setor_de_compras"
    t.boolean "criado_na_contabilidade"
    t.bigint "agente_publico_municipal_id"
    t.boolean "material_de_consumo", default: false
    t.boolean "premiacoes", default: false
    t.boolean "servico_continuado", default: false
    t.boolean "servico_nao_continuado", default: false
    t.boolean "obra", default: false
    t.boolean "servico_de_engenharia", default: false
    t.integer "horas_diarias"
    t.text "resultados_pretendidos"
    t.boolean "material_permanente", default: false
    t.string "prazo_de_encerramento"
    t.boolean "divide_lote_no_pedido", default: false
    t.boolean "locacao_de_imoveis", default: false
    t.boolean "fornecimento_continuo"
    t.boolean "outras_despesas"
    t.string "fundamentacao_de_contratacao"
    t.integer "etp_id"
  end

  create_table "licitacao_pedidos_ajuste", id: false, force: :cascade do |t|
    t.integer "id"
    t.date "data_do_pedido"
    t.date "data_limite_para_complementacao"
    t.integer "usuario_id"
    t.integer "status"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orcamento_id"
    t.integer "unidade_orcamentaria_id"
    t.text "objeto"
    t.text "motivo_do_cancelamento"
    t.integer "prazo_de_entrega"
    t.text "outras_informacoes"
    t.string "numero"
    t.integer "legislacao_id"
    t.boolean "convidar_unidades"
    t.string "local_de_entrega"
    t.boolean "possui_periodicidade_nos_itens"
    t.text "justificativa"
    t.text "justificativa_da_cotacao"
    t.date "data_impressao_mapa"
    t.boolean "projeto_simplificado"
    t.integer "pedido_origem_id"
    t.text "informacoes_da_cotacao"
    t.boolean "dotacoes_no_pedido", default: false
    t.string "vigencia"
    t.string "responsavel_pelo_setor_de_compras"
    t.boolean "criado_na_contabilidade"
  end

  create_table "licitacao_pessoas_do_pedido", id: :serial, force: :cascade do |t|
    t.integer "pessoa_id"
    t.integer "pedido_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "interno"
    t.string "codigo_de_acesso"
    t.date "validade_codigo_de_acesso"
    t.string "anexo_cotacao_file_name"
    t.string "anexo_cotacao_content_type"
    t.integer "anexo_cotacao_file_size"
    t.datetime "anexo_cotacao_updated_at"
    t.text "observacoes"
    t.text "motivo"
    t.boolean "valido"
    t.string "cpf_do_responsavel"
    t.string "nome_do_responsavel"
    t.integer "tipo_de_responsavel"
    t.integer "prazo_da_proposta"
    t.date "data_da_cotacao"
    t.date "data_de_cadastro_da_cotacao"
    t.index ["pessoa_id"], name: "index_licitacao_pessoas_do_pedido_on_pessoa_id"
  end

  create_table "licitacao_pessoas_do_projeto", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.integer "pessoa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "cpf_do_responsavel"
    t.string "nome_do_responsavel"
    t.integer "tipo_de_responsavel"
    t.integer "arquivo_id"
    t.boolean "credenciado", default: true
    t.text "justificativa_descredenciado"
    t.boolean "classificado", default: true
    t.text "justificativa_desclassificado"
  end

  create_table "licitacao_pessoas_do_projeto_do_lote", id: :serial, force: :cascade do |t|
    t.integer "lote_id"
    t.integer "pessoa_do_projeto_id"
    t.boolean "habilitado"
    t.decimal "nota_tecnica", precision: 12, scale: 2
    t.text "justificativa"
  end

  create_table "licitacao_projetos", id: :serial, force: :cascade do |t|
    t.integer "pedido_id"
    t.integer "tipo_de_totalizacao"
    t.integer "legislacao_id"
    t.integer "modalidade_de_licitacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "registro_de_preco"
    t.integer "status"
    t.date "data_do_projeto"
    t.text "motivo_do_cancelamento"
    t.integer "comissao_id"
    t.string "numero_do_processo"
    t.integer "modalidade_do_processo"
    t.integer "forma_de_agrupamento"
    t.date "data_inicial_do_processo"
    t.date "data_da_sessao"
    t.string "horario_da_abertura"
    t.date "data_da_homologacao"
    t.integer "criterio_de_julgamento"
    t.integer "arquivo_id"
    t.boolean "envia_pro_sim", default: true
    t.integer "orcamento_id"
    t.date "data_de_envio_pro_sim"
    t.date "data_de_autuacao"
    t.integer "agente_publico_municipal_id"
    t.boolean "bid_obra_ou_servico"
    t.boolean "sbqc"
    t.boolean "numero_confirmado"
    t.date "data_de_adjudicacao"
    t.text "justificativa_da_revogacao"
    t.date "data_do_edital"
    t.string "numero_do_edital"
    t.integer "lei_federal"
    t.bigint "saldo_total"
    t.string "ata_de_registro_de_precos_original"
    t.string "orgao_gerenciador_da_ata"
    t.bigint "cidade_id"
    t.bigint "estado_id"
    t.boolean "homologado_parcialmente"
    t.integer "responsavel_cotacao_sim_id"
    t.integer "responsavel_elaboracao_sim_id"
    t.string "forma_de_contratacao_sim"
    t.string "tipo_de_disputa_sim"
    t.string "url_do_processo_eletronico"
    t.string "pncp_id"
    t.string "pncp_id_ata_sim"
    t.string "numero_do_processo_original"
    t.index ["numero_do_processo"], name: "index_licitacao_projetos_on_numero_do_processo"
  end

  create_table "licitacao_publicacoes", id: :serial, force: :cascade do |t|
    t.integer "projeto_id"
    t.integer "sequencia"
    t.date "data_da_publicacao"
    t.integer "tipo_de_publicacao"
    t.string "local_publicado"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "anexo_file_name"
    t.string "anexo_content_type"
    t.integer "anexo_file_size"
    t.datetime "anexo_updated_at"
    t.date "data_de_publicacao_no_flanelografo"
    t.integer "arquivo_id"
  end

  create_table "licitacao_recursos", id: :serial, force: :cascade do |t|
    t.date "data_do_recurso"
    t.text "motivo"
    t.integer "situacao"
    t.text "resposta_do_recurso"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "projeto_id"
  end

  create_table "licitacao_rodadas", id: :serial, force: :cascade do |t|
    t.integer "lote_id"
    t.integer "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "desempate"
  end

  create_table "licitacao_solicitacoes_por_email", force: :cascade do |t|
    t.datetime "data_de_envio"
    t.string "email"
    t.date "data_de_expiracao"
    t.string "codigo_de_acesso"
    t.boolean "respondido"
    t.datetime "data_de_cotacao"
    t.integer "pessoa_do_pedido_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_solucoes_do_etp", force: :cascade do |t|
    t.string "descricao_da_solucao"
    t.string "justificativa_parcelamento_contratacao"
    t.string "providencia_previa"
    t.boolean "solucao_final"
    t.bigint "etp_id", null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "numero"
    t.index ["etp_id"], name: "index_etp_on_licitacao_solucoes_do_etp"
  end

  create_table "licitacao_unidades_orcamentarias_da_ata", force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.integer "ata_de_registro_de_preco_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "licitacao_unidades_orcamentarias_por_etp", force: :cascade do |t|
    t.bigint "etp_id", null: false
    t.bigint "unidade_orcamentaria_id", null: false
    t.integer "responsavel_do_etp_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["etp_id"], name: "index_etp_on_unidade_orcamentaria_por_etps"
    t.index ["unidade_orcamentaria_id"], name: "index_unidade_orcamentaria_on_unidade_orcamentaria_por_etps"
  end

  create_table "licitacao_unidades_orcamentarias_por_pedido", id: :serial, force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.integer "pedido_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "responsavel_do_pedido_id"
    t.index ["pedido_id", "unidade_orcamentaria_id"], name: "index_unidades_orcamentarias_por_pedido"
  end

  create_table "licitacao_unidades_orcamentarias_por_solucao_do_etp", force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.integer "solucao_do_etp_id"
    t.integer "etp_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "principal"
  end

  create_table "licitacao_vistos_de_documentos_do_processo", force: :cascade do |t|
    t.integer "documento_do_processo_id"
    t.boolean "aprovado"
    t.text "justificativa"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_acoes", id: :serial, force: :cascade do |t|
    t.integer "programa_de_governo_id"
    t.integer "natureza_da_acao_id"
    t.string "codigo", limit: 3
    t.string "nome", limit: 120
    t.string "descricao", limit: 255
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_do_orcamento", default: 0
    t.integer "iniciativa_id"
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
    t.index ["natureza_da_acao_id", "codigo"], name: "loa_acoes_idx_migracao"
  end

  create_table "loa_alteracoes_de_status", force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "status"
    t.date "data_de_alteracao"
    t.integer "usuario_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_assessores_de_contabilidade_responsaveis", force: :cascade do |t|
    t.integer "orgao_id"
    t.integer "pessoa_id"
    t.date "data_de_inicio"
    t.date "data_de_fim"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "crc"
  end

  create_table "loa_balancete_de_despesas_orcamentarias", force: :cascade do |t|
    t.integer "mes_referencia"
    t.integer "ano_referencia"
    t.bigint "orcamento_da_despesa_id"
    t.decimal "valor_suplementado_no_mes", precision: 18, scale: 2
    t.decimal "valor_anulado_de_dotacoes_no_mes", precision: 18, scale: 2
    t.decimal "valor_subtraido_dotacao_mes", precision: 18, scale: 2
    t.decimal "valor_acrescido_dotacao_mes", precision: 18, scale: 2
    t.decimal "valor_empenhado_no_mes", precision: 18, scale: 2
    t.decimal "valor_das_anulacoes_de_empenhos_no_mes", precision: 18, scale: 2
    t.decimal "valor_liquidado_no_mes", precision: 18, scale: 2
    t.decimal "valor_dos_estornos_de_liquidacoes_no_mes", precision: 18, scale: 2
    t.decimal "valor_pago_no_mes", precision: 18, scale: 2
    t.decimal "valor_dos_estornos_de_pago_no_mes", precision: 18, scale: 2
    t.decimal "valor_subtraido_das_movimentacoes_de_fontes_de_recursos_no_mes", precision: 18, scale: 2
    t.decimal "valor_acrescido_das_movimentacoes_de_fontes_de_recursos_no_mes", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_poder"
  end

  create_table "loa_balancete_de_receita_orcamentarias", force: :cascade do |t|
    t.integer "orcamento_da_receita_id"
    t.date "data_de_envio"
    t.integer "exercicio"
    t.integer "arquivo_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_cotas_orcamentarias", force: :cascade do |t|
    t.bigint "orcamento_id"
    t.bigint "unidade_orcamentaria_id"
    t.bigint "unidade_orcamentaria_exercicio_anterior_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_doccs", force: :cascade do |t|
    t.bigint "fonte_da_cota_orcamentaria_id"
    t.bigint "orcamento_da_despesa_id"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_elementos_de_despesa_por_subacao", id: :serial, force: :cascade do |t|
    t.integer "subacao_id"
    t.integer "elemento_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_do_orcamento", default: 0
    t.boolean "de_credito_adicional", default: false
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
    t.index ["elemento_de_despesa_id", "subacao_id"], name: "loa_elementos_de_despesa_por_subacao_idx_migracao"
    t.index ["elemento_de_despesa_id"], name: "loa_eleme_desp_elemento_id"
    t.index ["subacao_id", "elemento_de_despesa_id"], name: "eddps_s_ed", unique: true
    t.index ["subacao_id"], name: "loa_eleme_desp_subacao_id"
  end

  create_table "loa_fontes_das_cotas_orcamentarias", force: :cascade do |t|
    t.bigint "cota_orcamentaria_id"
    t.bigint "fonte_de_recursos_id"
    t.bigint "fonte_de_recursos_do_ano_anterior_id"
    t.decimal "valor", precision: 18, scale: 2
    t.decimal "percentual", precision: 10, scale: 2
    t.decimal "empenhado_ano_anterior", precision: 18, scale: 2
    t.decimal "percentual_empenho_ano_anterior", precision: 10, scale: 2
    t.decimal "liquidado_ate_o_mes", precision: 18, scale: 2
    t.decimal "valor_proposto", precision: 18, scale: 2
    t.decimal "percentual_proposto", precision: 10, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_gestores", id: :serial, force: :cascade do |t|
    t.integer "unidade_gestora_id"
    t.integer "agente_publico_municipal_id"
    t.date "inicio_da_gestao"
    t.date "fim_da_gestao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.string "numero_da_portaria"
    t.date "data_da_portaria"
    t.string "ingresso_sistema_publico_municipal"
    t.integer "tipo_de_cargo"
    t.string "tipo_relacao_servico_publico"
    t.integer "arquivo_final_id"
  end

  create_table "loa_metas_fisicas", id: :serial, force: :cascade do |t|
    t.integer "subacao_id"
    t.string "produto", limit: 120
    t.integer "unidade_de_medida_id"
    t.decimal "quantidade", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_do_orcamento", default: 0
    t.integer "ppa_meta_id"
  end

  create_table "loa_orcamentos_da_despesa", id: :serial, force: :cascade do |t|
    t.integer "elemento_de_despesa_por_subacao_id"
    t.integer "fonte_de_recursos_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_empenhado", precision: 18, scale: 2
    t.integer "status_do_orcamento", default: 0
    t.integer "iduso"
    t.integer "arquivo_id"
    t.decimal "valor_orcado", precision: 12, scale: 2
    t.boolean "de_credito_adicional", default: false
    t.index ["elemento_de_despesa_por_subacao_id", "fonte_de_recursos_id"], name: "loa_orcamentos_da_despesa_idx_migracao"
    t.index ["elemento_de_despesa_por_subacao_id", "fonte_de_recursos_id"], name: "od_edds_fr", unique: true
    t.index ["elemento_de_despesa_por_subacao_id"], name: "loa_orcamento_elemento_id"
    t.index ["fonte_de_recursos_id"], name: "loa_orcamento_fonte_id"
  end

  create_table "loa_orcamentos_da_receita", id: :serial, force: :cascade do |t|
    t.integer "fonte_de_recursos_id"
    t.integer "unidade_orcamentaria_por_natureza_da_receita_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "valor_arrecadado", precision: 18, scale: 2
    t.integer "status_do_orcamento", default: 0
    t.integer "arquivo_id"
    t.integer "valor_atual"
    t.integer "forma_de_adicao"
    t.index ["unidade_orcamentaria_por_natureza_da_receita_id", "fonte_de_recursos_id"], name: "or_undonr_fr", unique: true
  end

  create_table "loa_orcamentos_tematicos", id: :serial, force: :cascade do |t|
    t.string "sigla"
    t.string "descricao"
    t.boolean "padrao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_ordenadores_de_despesa", id: :serial, force: :cascade do |t|
    t.integer "agente_publico_id"
    t.date "data_fim_de_gestao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_inicio_da_gestao"
    t.integer "unidade_orcamentaria_id"
    t.integer "arquivo_id"
    t.string "numero_da_portaria"
    t.date "data_da_portaria"
    t.string "ingresso_sistema_publico_municipal"
    t.integer "tipo_de_cargo"
    t.string "tipo_relacao_servico_publico"
    t.integer "arquivo_final_id"
  end

  create_table "loa_orgaos", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "codigo", limit: 3
    t.integer "tipo_de_unidade_administrativa_id"
    t.string "nome", limit: 80
    t.string "sigla", limit: 10
    t.string "cnpj", limit: 14
    t.string "endereco", limit: 255
    t.string "cep", limit: 8
    t.string "telefone", limit: 11
    t.string "fax", limit: 11
    t.string "email", limit: 50
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "horario_inicio_funcionamento", limit: 5
    t.string "horario_fim_funcionamento", limit: 5
    t.integer "status_do_orcamento", default: 0
    t.integer "arquivo_id"
    t.integer "orgao_id"
  end

  create_table "loa_programas_de_governo", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.string "codigo", limit: 4
    t.string "nome", limit: 120
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "objetivo"
    t.integer "status_do_orcamento", default: 0
    t.integer "tipo_de_programa_id"
    t.integer "arquivo_id"
    t.integer "programa_id"
    t.integer "solicitacao_de_alteracao_orcamentaria_id"
  end

  create_table "loa_propostas_orcamentarias_setoriais", force: :cascade do |t|
    t.bigint "fonte_da_cota_orcamentaria_id"
    t.bigint "orcamento_da_despesa_id"
    t.decimal "valor", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_subacoes", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 4
    t.integer "acao_id"
    t.integer "unidade_orcamentaria_id"
    t.integer "funcao_id"
    t.integer "subfuncao_id"
    t.integer "tipo_de_orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "fixacao_da_despesa", precision: 12, scale: 2
    t.integer "status_do_orcamento", default: 0
    t.integer "arquivo_id"
    t.integer "despesa_da_educacao"
    t.decimal "fixacao_orcada", precision: 12, scale: 2
    t.date "data_de_envio_ao_sim"
    t.index ["acao_id", "unidade_orcamentaria_id"], name: "loa_subacoes_idx_migracao"
    t.index ["funcao_id"], name: "loa_subacoes_funcao"
    t.index ["subfuncao_id"], name: "loa_subacoes_subfuncao"
  end

  create_table "loa_temas_da_subacao", id: :serial, force: :cascade do |t|
    t.integer "subacao_id"
    t.integer "orcamento_tematico_id"
    t.decimal "percentual", precision: 5, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_temas_do_orcamento", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "orcamento_tematico_id"
    t.boolean "ativo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_tipos_de_deducao", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_tipos_de_programa", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_transferencias_de_recursos", id: :serial, force: :cascade do |t|
    t.integer "unidade_orcamentaria_origem_id"
    t.integer "unidade_orcamentaria_destino_id"
    t.integer "fonte_de_recursos_id"
    t.decimal "valor", precision: 12, scale: 2, default: "0.0"
    t.integer "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "loa_unidades_gestoras", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 2
    t.string "nome", limit: 80
    t.date "data_de_cadastro"
    t.string "numero_da_lei_de_criacao", limit: 10
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_do_orcamento", default: 0
    t.boolean "responsavel_contabil_diferente"
    t.integer "arquivo_id"
    t.string "cnpj"
    t.date "data_encerramento"
    t.bigint "orgao_pncp_id"
    t.boolean "enviado_pncp", default: false
    t.string "codigo_pncp", limit: 2
  end

  create_table "loa_unidades_orcamentaria_vinculada", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "unidade_orcamentaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "unidade_orcamentaria_vinculada_id"
  end

  create_table "loa_unidades_orcamentarias", id: :serial, force: :cascade do |t|
    t.integer "orgao_id"
    t.string "codigo", limit: 4
    t.string "nome", limit: 80
    t.string "sigla", limit: 10
    t.integer "tipo_de_administracao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_unidade_administrativa_id"
    t.integer "unidade_gestora_id"
    t.boolean "importar_dependencias"
    t.integer "status_do_orcamento", default: 0
    t.integer "conta_id"
    t.boolean "is_unidade_arrecadadora"
    t.integer "arquivo_id"
    t.integer "ppa_unidade_orcamentaria_id"
    t.boolean "rpps"
    t.boolean "saae"
    t.integer "situacao_orcamentaria"
    t.boolean "parcelamento"
    t.integer "pessoa_id"
    t.string "logo_file_name"
    t.string "logo_content_type"
    t.integer "logo_file_size"
    t.datetime "logo_updated_at"
    t.date "data_de_inclusao"
    t.bigint "assessor_contabilidade_responsavel_id"
  end

  create_table "loa_unidades_orcamentarias_por_natureza_da_receita", id: :serial, force: :cascade do |t|
    t.integer "natureza_da_receita_id"
    t.integer "unidade_orcamentaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status_do_orcamento", default: 0
    t.integer "forma_de_adicao"
    t.index ["natureza_da_receita_id", "unidade_orcamentaria_id"], name: "undopnr_nr_undo", unique: true
  end

  create_table "loa_unidades_orcamentarias_por_usuario", id: :serial, force: :cascade do |t|
    t.integer "unidade_orcamentaria_id"
    t.integer "usuario_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "log_movimentacoes_pcasp", force: :cascade do |t|
    t.bigint "gerador_id"
    t.string "gerador_type"
    t.integer "qtd_movimentacoes_orcamentaria"
    t.integer "qtd_movimentacoes_patrimonial"
    t.integer "qtd_movimentacoes_controle"
    t.integer "qtd_total"
    t.string "nome_da_tabela"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "lista_de_erros"
    t.date "data_de_lancamento"
    t.string "status"
  end

  create_table "movimentacoes_taloes_backup", id: false, force: :cascade do |t|
    t.integer "id"
    t.integer "conta_por_evento_contabil_id"
    t.integer "gerador_id"
    t.string "gerador_type"
    t.decimal "valor", precision: 12, scale: 2
    t.date "data_de_lancamento"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer "tipo_de_lancamento"
    t.string "codigo_movimentacao"
    t.integer "unidade_orcamentaria_id"
    t.integer "titulo"
    t.text "historico"
    t.integer "categoria_de_lancamento"
    t.integer "lancamento_manual"
    t.string "numero_do_processo_judicial", limit: 60
    t.bigint "movimentacao_par_id"
    t.string "ic_po"
    t.string "ic_fp"
    t.string "ic_dc"
    t.string "ic_fr"
    t.string "ic_co"
    t.string "ic_cf"
    t.string "ic_nr"
    t.string "ic_nd"
    t.string "ic_fs"
    t.string "ic_es"
    t.string "ic_ai"
    t.bigint "centro_de_custo_id"
    t.string "codigo_da_conta"
    t.integer "tipo_de_movimentacao"
    t.bigint "sub_conta_pcasp_id"
    t.integer "fonte_de_recursos_id"
    t.bigint "conta_bancaria_id"
    t.boolean "validado"
  end

  create_table "natureza_da_despesa_categorias_economicas", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 1
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "natureza_da_despesa_elementos_de_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 2
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "natureza_da_despesa_grupos_de_natureza_da_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 1
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "categoria_economica_id"
  end

  create_table "natureza_da_despesa_modalidades_de_aplicacao", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 2
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "natureza_da_despesa_sub_elementos_de_despesa", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.integer "elemento_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ncms", id: :serial, force: :cascade do |t|
    t.string "codigo", limit: 8
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_inicio"
    t.date "data_fim"
    t.string "tipo_ato"
    t.integer "numero_ato"
    t.date "ano_ato"
  end

  create_table "nd_complementares", id: false, force: :cascade do |t|
    t.string "codigo", limit: 8
  end

  create_table "notas_ficais_alteradas", id: false, force: :cascade do |t|
    t.bigint "id"
    t.integer "liquidacao_id"
    t.integer "tipo_da_nota"
    t.string "numero_da_nota", limit: 15
    t.string "serie", limit: 5
    t.integer "tipo_de_emissao", limit: 2
    t.date "data_de_emissao"
    t.integer "tipo_de_desconto", limit: 2
    t.decimal "valor_de_desconto", precision: 12, scale: 2
    t.date "data_limite_de_expedicao"
    t.string "numero_protocolo_de_autorizacao", limit: 15
    t.string "chave_de_verificacao", limit: 50
    t.string "numero_dae", limit: 10
    t.integer "cfop_id"
    t.string "serie_do_selo", limit: 2
    t.string "numero_do_selo", limit: 10
    t.string "numero_da_serie_do_selo", limit: 10
    t.string "numeros_de_formularios", limit: 255
    t.string "chave_de_acesso", limit: 44
    t.datetime "created_at"
    t.datetime "updated_at"
    t.boolean "orcamentario_iss"
    t.boolean "extraorcamentario_iss"
    t.boolean "orcamentario_inss_pj"
    t.boolean "extraorcamentario_inss_pj"
    t.boolean "orcamentario_irpj"
    t.boolean "extraorcamentario_irpj"
    t.boolean "extraorcamentario_inss_pf"
    t.boolean "orcamentario_irpf"
    t.boolean "extraorcamentario_irpf"
    t.integer "arquivo_id"
  end

  create_table "oauth_access_grants", force: :cascade do |t|
    t.bigint "resource_owner_id", null: false
    t.bigint "application_id", null: false
    t.string "token", null: false
    t.integer "expires_in", null: false
    t.text "redirect_uri", null: false
    t.datetime "created_at", null: false
    t.datetime "revoked_at"
    t.string "scopes", default: "", null: false
    t.index ["application_id"], name: "index_oauth_access_grants_on_application_id"
    t.index ["resource_owner_id"], name: "index_oauth_access_grants_on_resource_owner_id"
    t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true
  end

  create_table "oauth_access_tokens", force: :cascade do |t|
    t.bigint "resource_owner_id"
    t.bigint "application_id", null: false
    t.string "token", null: false
    t.string "refresh_token"
    t.integer "expires_in"
    t.datetime "revoked_at"
    t.datetime "created_at", null: false
    t.string "scopes"
    t.string "previous_refresh_token", default: "", null: false
    t.index ["application_id"], name: "index_oauth_access_tokens_on_application_id"
    t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true
    t.index ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id"
    t.index ["token"], name: "index_oauth_access_tokens_on_token", unique: true
  end

  create_table "oauth_applications", force: :cascade do |t|
    t.string "name", null: false
    t.string "uid", null: false
    t.string "secret", null: false
    t.text "redirect_uri"
    t.string "scopes", default: "", null: false
    t.boolean "confidential", default: true, null: false
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "usuario_id"
    t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true
  end

  create_table "obra_acoes_do_componente", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.decimal "valor_repasse", precision: 12, scale: 2
    t.decimal "valor_contrapartida", precision: 12, scale: 2
    t.decimal "valor_total", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "subcomponente_da_operacao_de_credito_id"
  end

  create_table "obra_aditivos_do_convenio", id: :serial, force: :cascade do |t|
    t.integer "transferencia_id"
    t.date "data_do_aditivo"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.integer "modalidade"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_anexos_da_fiscalizacao", id: :serial, force: :cascade do |t|
    t.integer "foto_da_fiscalizacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "file_file_name"
    t.string "file_content_type"
    t.integer "file_file_size"
    t.datetime "file_updated_at"
    t.string "descricao"
  end

  create_table "obra_atividades_rdo", force: :cascade do |t|
    t.integer "diario_de_obra_id"
    t.string "descricao"
    t.integer "status"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_componentes_da_operacao_de_credito", id: :serial, force: :cascade do |t|
    t.integer "operacao_de_credito_id"
    t.integer "codigo"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_contratos_da_obra", id: :serial, force: :cascade do |t|
    t.integer "obra_id"
    t.integer "contrato_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_diarios_de_obra", force: :cascade do |t|
    t.integer "obra_id"
    t.string "numero"
    t.date "data_do_relatorio"
    t.integer "tempo_manha"
    t.integer "tempo_tarde"
    t.integer "tempo_noite"
    t.integer "condicao_manha"
    t.integer "condicao_tarde"
    t.integer "condicao_noite"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "observacoes"
    t.integer "engenheiro_da_obra_id"
  end

  create_table "obra_documentos_da_medicao_da_obra", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.integer "medicao_da_obra_id"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_documentos_da_obra", id: :serial, force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.integer "obra_id"
    t.integer "tipo_de_documento"
    t.string "numero"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "modelo_do_documento_id"
    t.integer "tipo_de_termo"
    t.date "data_inicio_paralisacao"
    t.date "data_fim_paralisacao"
  end

  create_table "obra_empenhos_da_medicao_da_obra", id: :serial, force: :cascade do |t|
    t.integer "medicao_da_obra_id"
    t.integer "empenho_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
  end

  create_table "obra_equipamentos", force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_equipamentos_rdo", force: :cascade do |t|
    t.integer "diario_de_obra_id"
    t.integer "equipamento_id"
    t.decimal "quantidade", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_fiscalizacoes", id: :serial, force: :cascade do |t|
    t.date "data_da_fiscalizacao"
    t.integer "obra_id"
    t.integer "engenheiro_da_obra_id"
    t.string "art"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "possui_documentos"
    t.boolean "possui_placa"
    t.boolean "diario_atualizado"
    t.text "providencias"
    t.integer "qualidade_da_execucao"
    t.integer "desempenho_da_construtora"
    t.boolean "alteracao_justificada"
    t.integer "medicao_da_obra_id"
  end

  create_table "obra_fontes_de_recursos_do_pre_convenio", id: :serial, force: :cascade do |t|
    t.integer "fonte_de_recurso_id"
    t.integer "pre_convenio_id"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_fotos_da_fiscalizacao", id: :serial, force: :cascade do |t|
    t.integer "codigo"
    t.date "data_do_cadastro"
    t.integer "fiscalizacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "foto_file_name"
    t.string "foto_content_type"
    t.integer "foto_file_size"
    t.datetime "foto_updated_at"
  end

  create_table "obra_fotos_da_verificacao", id: :serial, force: :cascade do |t|
    t.integer "verificacao_da_fiscalizacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "file_file_name"
    t.string "file_content_type"
    t.integer "file_file_size"
    t.datetime "file_updated_at"
    t.string "descricao"
  end

  create_table "obra_fotos_do_diario_de_obra", force: :cascade do |t|
    t.integer "diario_de_obra_id"
    t.string "file_file_name"
    t.string "file_content_type"
    t.integer "file_file_size"
    t.datetime "file_updated_at"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_garantias_da_obra", id: :serial, force: :cascade do |t|
    t.string "nome_do_titulo"
    t.string "numero_da_apolice"
    t.string "conta_corrente"
    t.string "nome_do_banco"
    t.string "nome_da_seguradora"
    t.date "data_do_deposito"
    t.date "data_de_resgate"
    t.integer "forma_de_garantia"
    t.integer "situacao"
    t.integer "quantidade_de_dias_de_vigencia"
    t.decimal "valor_do_caucao", precision: 12, scale: 2
    t.decimal "valor_do_premio", precision: 12, scale: 2
    t.decimal "valor_fianca", precision: 12, scale: 2
    t.integer "obra_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_itens_do_servico_da_medicao_da_obra", force: :cascade do |t|
    t.integer "medicao_da_obra_id"
    t.integer "item_do_servico_da_obra_id"
    t.decimal "quantidade_medida", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.decimal "total", precision: 18, scale: 2
  end

  create_table "obra_itens_do_servico_da_obra", id: :serial, force: :cascade do |t|
    t.integer "servico_da_obra_id"
    t.string "codigo"
    t.string "descricao"
    t.string "unidade_de_medida"
    t.decimal "quantidade", precision: 12, scale: 2
    t.decimal "preco_unitario", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_maos_de_obra", force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_maos_de_obra_rdo", force: :cascade do |t|
    t.integer "diario_de_obra_id"
    t.integer "mao_de_obra_id"
    t.decimal "quantidade", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_medicoes_da_caixa_da_obra", force: :cascade do |t|
    t.integer "medicao_da_obra_id"
    t.date "data_de_envio"
    t.date "data_de_liberacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_operacoes_de_credito", id: :serial, force: :cascade do |t|
    t.date "data"
    t.string "codigo"
    t.string "numero_do_contrato"
    t.integer "unidade_orcamentaria_id"
    t.integer "obra_id"
    t.integer "moeda"
    t.integer "financiador_id"
    t.integer "funcao_id"
    t.integer "natureza_da_receita_id"
    t.integer "natureza_da_receita_aplicacao_fin_id"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.integer "prazo_liberacao_execucao"
    t.integer "prazo_carencia"
    t.integer "periodicidade_amortizacao"
    t.integer "prazo_amortizacao"
    t.decimal "valor_operacao_credito", precision: 18, scale: 2
    t.decimal "valor_contrapartida", precision: 18, scale: 2
    t.decimal "valor_total", precision: 18, scale: 2
    t.integer "conta_bancaria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.text "descricao"
    t.bigint "conta_id"
    t.bigint "sub_conta_pcasp_id"
    t.integer "unidade_orcamentaria_arrecadadora_id"
    t.bigint "conta_bancaria_arrecadadora_id"
  end

  create_table "obra_ordens_de_servico", id: :serial, force: :cascade do |t|
    t.date "data_de_inicio"
    t.date "data_prevista_de_termino"
    t.string "codigo", limit: 12
    t.integer "obra_id"
    t.integer "contrato_id"
    t.integer "empenho_id"
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_da_ordem"
    t.integer "prazo_de_execucao"
  end

  create_table "obra_pre_convenios", id: :serial, force: :cascade do |t|
    t.date "data_do_cadastro"
    t.integer "modalidade"
    t.integer "unidade_orcamentaria_id"
    t.integer "orgao_cedente_id"
    t.integer "funcao_id"
    t.decimal "valor_repasse", precision: 12, scale: 2
    t.decimal "valor_contrapartida", precision: 12, scale: 2
    t.decimal "valor_total", precision: 12, scale: 2
    t.integer "prazo_de_execucao"
    t.text "objeto"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_providencias_da_fiscalizacao", id: :serial, force: :cascade do |t|
    t.integer "codigo"
    t.date "data_do_cadastro"
    t.string "descricao"
    t.integer "fiscalizacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_servicos_da_obra", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.integer "obra_id"
    t.integer "identificador"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo"
    t.integer "prazo_de_execucao"
  end

  create_table "obra_solicitacoes_por_email", force: :cascade do |t|
    t.datetime "data_de_envio"
    t.string "email"
    t.date "data_de_expiracao"
    t.string "codigo_de_acesso"
    t.boolean "respondido"
    t.datetime "data_da_medicao"
    t.integer "medicao_da_obra_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_subcomponentes_da_operacao_de_credito", force: :cascade do |t|
    t.integer "componente_da_operacao_de_credito_id"
    t.integer "codigo"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "obra_transferencias", id: :serial, force: :cascade do |t|
    t.date "data"
    t.integer "tipo"
    t.integer "modalidade"
    t.integer "unidade_orcamentaria_id"
    t.integer "obra_id"
    t.integer "orgao_cedente_id"
    t.integer "funcao_id"
    t.integer "natureza_da_receita_id"
    t.integer "natureza_da_receita_aplicacao_fin_id"
    t.date "inicio_da_vigencia"
    t.date "fim_da_vigencia"
    t.integer "prazo_para_prestacao_de_contas"
    t.text "objeto"
    t.decimal "valor_repasse", precision: 12, scale: 2
    t.decimal "valor_contrapartida", precision: 12, scale: 2
    t.decimal "valor_total", precision: 12, scale: 2
    t.string "codigo_original_transferencia"
    t.string "codigo_transferencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "conta_bancaria_id"
    t.integer "pre_convenio_id"
    t.integer "status"
    t.integer "esfera"
    t.boolean "modulo_contabil", default: false
    t.integer "arquivo_id"
    t.integer "informacao_complementar"
    t.integer "unidade_orcamentaria_arrecadadora_id"
  end

  create_table "obra_verificacoes_da_fiscalizacao", id: :serial, force: :cascade do |t|
    t.integer "codigo"
    t.date "data_do_cadastro"
    t.integer "tipo"
    t.integer "situacao"
    t.integer "fiscalizacao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "descricao"
    t.text "descricao_da_pendencia"
  end

  create_table "orcamentos", id: :serial, force: :cascade do |t|
    t.bigint "exercicio"
    t.string "numero_da_lei", limit: 10
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status", default: 0
    t.decimal "percentual_da_reserva_de_contingencia", precision: 4, scale: 2
    t.boolean "trabalha_com_subacao", default: true
    t.decimal "percentual_normativo_da_ldo", precision: 18, scale: 2
    t.boolean "trabalhar_com_iduso", default: false
    t.integer "arquivo_id"
    t.date "data_de_envio"
    t.date "data_de_aprovacao"
    t.date "data_de_publicacao"
    t.integer "ppa_id"
    t.boolean "utilizar_projecao_do_ppa"
    t.string "arquivo_de_contexto_file_name"
    t.string "arquivo_de_contexto_content_type"
    t.integer "arquivo_de_contexto_file_size"
    t.datetime "arquivo_de_contexto_updated_at"
    t.integer "origem_da_importacao"
    t.decimal "percentual_do_duodecimo", precision: 12, scale: 2
    t.integer "percentual_despesa_com_pessoal"
    t.string "prefeito"
    t.string "vice_prefeito"
    t.decimal "superavit_financeiro", precision: 18, scale: 2
    t.boolean "plano_de_contas_encerrado"
    t.string "numero_ldo"
    t.boolean "por_cotas"
    t.boolean "docc_centralizado"
    t.integer "obrigatorio_meta_fisica"
    t.date "prazo_inicial_proposta_setorial"
    t.date "prazo_final_proposta_setorial"
  end

  create_table "parametrizacao_modulos", force: :cascade do |t|
    t.boolean "permite_uso_do_modulo"
    t.string "nome_do_modulo"
    t.string "nome_de_exibicao"
    t.integer "configuracao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "parametrizacoes_portal_da_transparencia", force: :cascade do |t|
    t.string "nome_do_acesso"
    t.string "nome_de_exibicao"
    t.boolean "acesso"
    t.string "link_do_botao"
    t.date "data_de_inicio_da_pesquisa"
    t.integer "configuracao_id"
    t.integer "tipo_de_poder"
  end

  create_table "patrimonio_alteracoes_dos_valores_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "comissao_id"
    t.decimal "valor_base", precision: 18, scale: 2
    t.decimal "valor_alterado", precision: 18, scale: 2
    t.bigint "empenho_id"
    t.string "numero_do_empenho"
    t.bigint "orcamento_id"
    t.bigint "fornecedor_id"
    t.date "data_da_alteracao"
    t.integer "tipo_de_alteracao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
  end

  create_table "patrimonio_avaliacoes_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "comissao_id"
    t.date "data_da_avaliacao"
    t.integer "tipo_de_avaliacao"
    t.decimal "valor_inicial", precision: 18, scale: 2
    t.decimal "valor_diferenca", precision: 18, scale: 2
    t.decimal "valor_final", precision: 18, scale: 2
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.decimal "vida_util", precision: 10, scale: 2
    t.decimal "valor_depreciado", precision: 18, scale: 2
  end

  create_table "patrimonio_baixas_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "comissao_id"
    t.date "data_da_baixa"
    t.decimal "valor_atual_do_bem", precision: 18, scale: 2
    t.text "observacao"
    t.integer "motivo_da_baixa"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.bigint "baixa_do_bem_em_massa_id"
  end

  create_table "patrimonio_baixas_dos_bens_em_massa", force: :cascade do |t|
    t.date "data"
    t.integer "status"
    t.integer "centro_de_custo_id"
    t.string "codigo"
    t.bigint "comissao_id"
    t.bigint "orcamento_id"
    t.integer "motivo_da_baixa"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "agente_publico_municipal_id"
    t.index ["agente_publico_municipal_id"], name: "idx_baixas_bens_massa_on_agente_publico_id"
  end

<<<<<<< HEAD
=======
  create_table "patrimonio_bens_da_importacoes_de_dados_patrimoniais", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "item_id"
    t.bigint "importacao_de_dados_patrimonial_id"
    t.string "orgao_unidade"
    t.string "secretaria"
    t.string "setor"
    t.date "data_cadastro"
    t.string "tombo_atual"
    t.string "tombo_anterior"
    t.text "descricao_bens"
    t.string "especificacao"
    t.string "marca"
    t.string "modelo"
    t.string "serie"
    t.string "chassi"
    t.string "cor"
    t.string "conservacao"
    t.string "grupo"
    t.string "subgrupo"
    t.string "situacao"
    t.string "aquisicao"
    t.string "nota_fiscal"
    t.date "data_aquisicao"
    t.date "data_tombamento"
    t.decimal "valor"
    t.string "natureza_tce"
    t.string "fornecedor"
    t.string "fonte_de_recurso"
    t.date "data_empenho"
    t.string "empenho"
    t.string "classificacao"
    t.string "baixa"
    t.date "data_vistoria"
    t.string "nome_vistoriador"
    t.date "data_vistoria_dois"
    t.string "nome_vistoria_dois"
    t.date "data_vistoria_tres"
    t.string "nome_vistoria_tres"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "id_centro_custo"
    t.decimal "valor_aquisicao", precision: 15, scale: 2
    t.decimal "valor_residual", precision: 15, scale: 2
    t.decimal "valor_liquido", precision: 15, scale: 2
    t.integer "vida_util"
    t.integer "meses"
    t.decimal "valor_depreciacao_mensal", precision: 15, scale: 2
    t.decimal "valor_atualizado", precision: 15, scale: 2
    t.decimal "depreciado_ate_agora", precision: 15, scale: 2
    t.integer "meses_depreciados", default: 0, null: false
  end

>>>>>>> 1918f51738c6536d56073ae9dd97b3981544c5e2
  create_table "patrimonio_bens_dos_lotes_do_leilao", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "lote_do_leilao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_bens_patrimoniais", force: :cascade do |t|
    t.bigint "item_do_recebimento_de_bem_id"
    t.string "numero_do_tombamento"
    t.integer "status"
    t.text "descricao"
    t.date "data_do_tombamento"
    t.bigint "unidade_gestora_id"
    t.bigint "dados_extras_do_bem_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "orcamento_id"
    t.bigint "sequencia"
    t.string "cor"
    t.string "chassi"
    t.string "serie_do_veiculo"
    t.integer "ano_de_fabricacao"
    t.string "placa"
    t.string "renavam", limit: 11
    t.integer "tipo_de_combustivel"
    t.decimal "quilometragem", precision: 18, scale: 2
    t.decimal "capacidade_de_combustivel", precision: 18, scale: 2
    t.date "inicio_da_depreciacao"
    t.bigint "programa_de_recursos_id"
    t.integer "tipo_de_poder"
    t.integer "origem_do_recurso"
    t.bigint "item_id"
    t.integer "tipo_de_bem"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "item_da_transferencia_id"
    t.integer "tipo_de_depreciacao"
    t.integer "localizacao_atual_id"
    t.string "pcasp_estendido"
    t.integer "arquivo_id"
    t.integer "arquivo_por_unidade_id"
    t.integer "arquivo_por_empenho_id"
    t.string "tombamento_sim"
    t.decimal "valor_atualizado_do_bem"
    t.integer "status_complementar"
    t.integer "depreciacao_atual_id"
    t.string "numero_tombamento_antigo"
    t.index ["id", "status"], name: "bens_patrimoniais_idx_e_status"
    t.index ["id", "unidade_gestora_id"], name: "bens_patrimoniais_idx_e_unidade_gestora"
    t.index ["status", "unidade_gestora_id", "localizacao_atual_id"], name: "index_bens_patrimoniais_on_status_unidade_gestora_localizacao"
    t.index ["status", "unidade_gestora_id"], name: "bens_patrimoniais_status_e_unidade_gestora"
    t.index ["unidade_gestora_id", "localizacao_atual_id"], name: "index_bens_patrimoniais_on_unidade_localizacao"
    t.index ["localizacao_atual_id"], name: "index_patrimonio_bens_patrimoniais_on_localizacao_atual_id"
    t.index ["unidade_gestora_id"], name: "index_patrimonio_bens_patrimoniais_on_unidade_gestora_id"
  end

  create_table "patrimonio_bens_patrimoniais_cedidos", force: :cascade do |t|
    t.bigint "cessao_de_bem_patrimonial_id"
    t.bigint "bem_patrimonial_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_bens_patrimoniais_da_requisicao", force: :cascade do |t|
    t.bigint "item_da_requisicao_patrimonial_id"
    t.bigint "bem_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_cessao_de_bens_patrimoniais", force: :cascade do |t|
    t.date "data_da_cessao"
    t.string "numero_do_termo"
    t.integer "status"
    t.bigint "beneficente_id"
    t.string "responsavel"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_comissoes", force: :cascade do |t|
    t.string "descricao"
    t.date "data_inicio"
    t.date "data_fim"
    t.date "data_da_portaria"
    t.string "numero_da_portaria"
    t.integer "tipo_de_comissao"
    t.integer "classificacao_da_comissao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo"
    t.integer "tipo_de_poder"
  end

  create_table "patrimonio_conservacoes_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.integer "estado_do_bem"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.date "data_da_conservacao"
  end

  create_table "patrimonio_dados_do_destino_da_requisicoes_patrimoniais", force: :cascade do |t|
    t.bigint "requisicao_patrimonial_id"
    t.bigint "unidade_gestora_id"
    t.bigint "centro_de_custo_id"
    t.bigint "responsavel_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_dados_dos_destinos_das_transferencias", force: :cascade do |t|
    t.bigint "transferencia_id"
    t.bigint "unidade_gestora_destino_id"
    t.bigint "responsavel_destino_id"
    t.bigint "centro_de_custo_destino_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_dados_extras_dos_bens", force: :cascade do |t|
    t.integer "natureza_do_bem"
    t.string "nota_fiscal"
    t.string "serie"
    t.bigint "fornecedor_id"
    t.string "marca"
    t.string "classificacao_do_bem"
    t.integer "tipo_de_ingresso"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "item_do_recebimento_de_bem_id"
    t.decimal "valor_de_aquisicao", precision: 18, scale: 2
    t.boolean "gerou_bens"
    t.bigint "doador_id"
    t.string "modelo"
    t.integer "vida_util"
    t.decimal "outros_custos", precision: 18, scale: 2
    t.decimal "valor_bruto_inicial", precision: 18, scale: 2
    t.decimal "porcentagem_valor_residual", precision: 18, scale: 2
    t.decimal "valor_residual", precision: 18, scale: 2
  end

  create_table "patrimonio_depreciacao_vida_util_configuracoes", force: :cascade do |t|
    t.string "conta_pcasp"
    t.string "elemento_de_despesa"
    t.string "sub_elemento_de_despesa"
    t.decimal "valor_residual_porcentagem"
    t.integer "vida_util_meses_normal"
    t.decimal "taxa_mensal_depre_normal_porcentagem"
    t.integer "vida_util_meses_acelerada"
    t.decimal "taxa_mensal_depre_acelerada_porcentagem"
    t.date "data_inicio_utilizacao"
    t.date "data_final_utilizacao"
    t.integer "tipo_de_bem"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["conta_pcasp"], name: "patrimonio_depre_config_conta_pcasp_busca"
    t.index ["elemento_de_despesa", "sub_elemento_de_despesa"], name: "patrimonio_depre_config_elemento_e_sub"
  end

  create_table "patrimonio_depreciacoes_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.integer "mes_depreciacao"
    t.decimal "valor_base", precision: 18, scale: 2
    t.decimal "valor_depreciado", precision: 18, scale: 2
    t.date "data_depreciacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["bem_patrimonial_id", "mes_depreciacao"], name: "patrimonio_depreciacoes_mes_busca"
  end

  create_table "patrimonio_desafetacoes_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.date "data_da_desafetacao"
    t.boolean "para_venda"
    t.string "observacao"
    t.integer "status"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_devolucao_de_bens_patrimoniais", force: :cascade do |t|
    t.date "data_da_devolucao"
    t.string "numero_da_devolucao"
    t.bigint "origem_id"
    t.string "origem_type"
    t.bigint "orcamento_id"
    t.integer "status"
    t.integer "tipo"
    t.string "responsavel"
    t.string "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_documentos_do_patrimonio", force: :cascade do |t|
    t.bigint "origem_id"
    t.string "origem_type"
    t.date "data_do_documento"
    t.string "titulo_personalizado"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_empenhos_do_recebimento", force: :cascade do |t|
    t.integer "recebimento_de_bem_id"
    t.integer "empenho_id"
    t.decimal "valor_atual", precision: 15, scale: 2
    t.decimal "valor", precision: 15, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_fotos_do_bem_patrimonial", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.string "foto_file_name"
    t.string "foto_content_type"
    t.integer "foto_file_size"
    t.datetime "foto_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_itens_da_devolucao_de_bens_patrimoniais", force: :cascade do |t|
    t.bigint "devolucao_de_bem_patrimonial_id"
    t.bigint "bem_patrimonial_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_itens_da_requisicao_patrimonial", force: :cascade do |t|
    t.bigint "requisicao_patrimonial_id"
    t.bigint "unidade_gestora_id"
    t.bigint "centro_de_custo_id"
    t.bigint "item_id"
    t.bigint "bem_patrimonial_id"
    t.decimal "quantidade_solicitada"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_itens_da_transferencia", force: :cascade do |t|
    t.bigint "transferencia_id"
    t.bigint "item_id"
    t.bigint "bem_patrimonial_id"
    t.bigint "unidade_gestora_id"
    t.bigint "centro_de_custo_id"
    t.decimal "quantidade_solicitada"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_itens_das_baixas_dos_bens_em_massa", force: :cascade do |t|
    t.bigint "baixa_do_bem_id"
    t.bigint "baixa_do_bem_em_massa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_itens_dos_recebimentos_de_bens", force: :cascade do |t|
    t.bigint "recebimento_de_bem_id"
    t.bigint "item_id"
    t.bigint "unidade_de_medida_id"
    t.decimal "quantidade", precision: 18, scale: 2
    t.decimal "valor_unitario", precision: 18, scale: 2
    t.decimal "valor_total", precision: 18, scale: 2
    t.string "marca"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_leiloes", force: :cascade do |t|
    t.string "numero_ato"
    t.bigint "comissao_id"
    t.text "objeto"
    t.string "numero_leilao"
    t.integer "status"
    t.bigint "orcamento_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_localizacoes_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "centro_de_custo_id"
    t.bigint "agente_publico_municipal_id"
    t.integer "status"
    t.string "descricao"
    t.string "endereco"
    t.string "numero"
    t.string "complemento"
    t.string "bairro"
    t.string "cep"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.date "data_de_inicio_na_localizacao"
  end

  create_table "patrimonio_lotes_do_leilao", force: :cascade do |t|
    t.bigint "leilao_id"
    t.integer "status"
    t.integer "ordem_lote"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_membros_da_comissao", force: :cascade do |t|
    t.bigint "comissao_id"
    t.bigint "agente_publico_municipal_id"
    t.integer "tipo_de_membro"
    t.date "data_admissao"
    t.date "data_saida"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_movimentacoes_financeiras_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "origem_id"
    t.string "origem_type"
    t.date "data_da_movimentacao"
    t.decimal "valor_inicial", precision: 18, scale: 2
    t.decimal "valor_da_operacao", precision: 18, scale: 2
    t.decimal "valor_final", precision: 18, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "situacao"
    t.integer "arquivo_id"
    t.integer "arquivo_contas_id"
    t.integer "situacao_sim"
    t.index ["bem_patrimonial_id", "valor_da_operacao"], name: "patrimonio_movimentacoes_idx_busca"
  end

  create_table "patrimonio_origem_de_recursos_patrimoniais", force: :cascade do |t|
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_programas_de_recursos", force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.integer "origem_do_recurso"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_recebimentos_de_bens", force: :cascade do |t|
    t.string "codigo"
    t.date "data_do_recebimento"
    t.integer "status"
    t.integer "classificacao"
    t.bigint "sub_elemento_de_despesa_id"
    t.bigint "orcamento_id"
    t.text "observacao"
    t.bigint "unidade_orcamentaria_id"
    t.string "numero_da_nota"
    t.string "serie"
    t.date "data_de_emissao"
    t.bigint "doador_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "recebimento_de_material_id"
    t.bigint "fornecedor_id"
    t.boolean "extraorcamentario", default: false
    t.bigint "origem_de_recurso_patrimonial_id"
    t.boolean "multiplos_empenhos"
    t.integer "ano_empenho_vinculado"
    t.boolean "criado_no_patrimonio", default: false
  end

  create_table "patrimonio_requisicoes_patrimoniais", force: :cascade do |t|
    t.date "data_da_requisicao"
    t.string "codigo"
    t.bigint "unidade_gestora_id"
    t.bigint "responsavel_id"
    t.bigint "centro_de_custo_id"
    t.integer "status"
    t.bigint "orcamento_id"
    t.text "observacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo"
    t.text "motivo_da_recusa"
  end

  create_table "patrimonio_responsaveis_do_bem_patrimonial", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.bigint "pessoa_id"
    t.date "data_inicio"
    t.date "data_fim"
    t.integer "tipo_de_responsavel"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_transferencias", force: :cascade do |t|
    t.string "numero_da_transferencia"
    t.date "data_da_transferencia"
    t.integer "status"
    t.integer "tipo"
    t.bigint "orcamento_id"
    t.bigint "unidade_gestora_origem_id"
    t.bigint "responsavel_origem_id"
    t.bigint "centro_de_custo_origem_id"
    t.text "historico"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "motivo_da_recusa"
  end

  create_table "patrimonio_unidades_gestoras_da_cessao", force: :cascade do |t|
    t.bigint "cessao_de_bem_patrimonial_id"
    t.bigint "unidade_gestora_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end  
  
  create_table "patrimonio_unidades_gestoras_do_leilao", force: :cascade do |t|
    t.bigint "leilao_id"
    t.bigint "unidade_gestora_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_valores_dos_lotes_do_leilao", force: :cascade do |t|
    t.decimal "valor_do_lote", precision: 18, scale: 2
    t.integer "tipo_de_valor"
    t.bigint "comissao_id"
    t.bigint "lote_do_leilao_id"
    t.date "data_do_valor"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_unidades_gestoras_do_leilao", force: :cascade do |t|
    t.bigint "leilao_id"
    t.bigint "unidade_gestora_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_valores_dos_lotes_do_leilao", force: :cascade do |t|
    t.decimal "valor_do_lote", precision: 18, scale: 2
    t.integer "tipo_de_valor"
    t.bigint "comissao_id"
    t.bigint "lote_do_leilao_id"
    t.date "data_do_valor"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "patrimonio_vidas_uteis_dos_bens", force: :cascade do |t|
    t.bigint "bem_patrimonial_id"
    t.date "data_da_operacao"
    t.integer "vida_util"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.integer "origem_da_alteracao"
    t.bigint "avaliacao_do_bem_id"
  end

  create_table "pca_acoes", force: :cascade do |t|
    t.string "numero"
    t.integer "unidade_orcamentaria_id"
    t.integer "categoria_de_despesa"
    t.integer "tipo_de_contratacao"
    t.integer "prioridade"
    t.integer "status"
    t.date "data_de_cadastro"
    t.date "data_de_previsao_da_contratacao"
    t.text "objeto"
    t.text "justificativa"
    t.text "resultado_pretendido"
    t.integer "responsavel_id"
    t.integer "forma_de_contratacao_modalidade"
    t.integer "forma_de_contratacao_modalidade_de_licitacao"
    t.integer "orcamento_id"
    t.text "justificativa_prioridade"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "outras_informacoes"
    t.boolean "envia_pncp"
    t.boolean "enviado_pncp"
    t.date "pncp_data_cadastro"
    t.boolean "possui_itens"
    t.boolean "vinculada_a_outra_acao"
    t.string "url_pncp"
    t.string "justificativa_para_exclusao_pncp"
  end

  create_table "pca_categorias_da_acao", force: :cascade do |t|
    t.integer "acao_id"
    t.integer "categoria_id"
    t.integer "subcategoria_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "pca_documentos_da_acao", force: :cascade do |t|
    t.date "data_do_documento"
    t.text "texto"
    t.integer "usuario_id"
    t.integer "acao_id"
    t.integer "modelo_do_documento_id"
    t.string "titulo_personalizado"
    t.integer "tipo_de_documento"
    t.string "documento_file_name"
    t.string "documento_content_type"
    t.integer "documento_file_size"
    t.datetime "documento_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "pca_itens_da_acao", force: :cascade do |t|
    t.bigint "item_id"
    t.bigint "acao_id"
    t.decimal "quantidade", precision: 10, scale: 2
    t.text "marca"
    t.decimal "valor", precision: 10, scale: 2
    t.integer "total"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "pca_orcamentos_da_despesa_por_acao", force: :cascade do |t|
    t.integer "orcamento_da_despesa_id"
    t.integer "acao_id"
    t.integer "sub_elemento_de_despesa_id"
    t.integer "subacao_id"
    t.decimal "valor", precision: 10, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "sequencial_pca"
  end

  create_table "pca_tipos_de_despesa_por_acao", force: :cascade do |t|
    t.integer "acao_id"
    t.integer "tipo_de_despesa"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "perfis", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "fixo", default: false
  end

  create_table "pncp_configuracoes", force: :cascade do |t|
    t.string "nome"
    t.string "valor"
    t.boolean "ativo", default: true
  end

  create_table "pncp_criticas_de_envios", force: :cascade do |t|
    t.integer "modulo_id"
    t.string "modulo_type"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "pncp_orgaos_pncp", force: :cascade do |t|
    t.string "cnpj"
    t.string "razao_social"
    t.string "poder_id", limit: 1
    t.string "esfera_id", limit: 1
    t.string "location_url"
    t.boolean "enviado_pncp"
    t.boolean "autorizado_pncp"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_areas_tematicas", id: :serial, force: :cascade do |t|
    t.integer "ppa_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_convenios", id: :serial, force: :cascade do |t|
    t.integer "ppa_id"
    t.integer "unidade_orcamentaria_id"
    t.string "objeto"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "concedente"
    t.integer "esfera"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "receita_corrente_id"
    t.integer "receita_de_capital_id"
    t.integer "status"
    t.integer "sub_area_tematica_id"
    t.string "numero_do_convenio"
  end

  create_table "ppa_eixos", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "ppa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.text "diretrizes", default: [], array: true
  end

  create_table "ppa_funcoes", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "ppa_id"
    t.string "codigo"
  end

  create_table "ppa_imagens", id: :serial, force: :cascade do |t|
    t.string "file_file_name"
    t.string "file_content_type"
    t.integer "file_file_size"
    t.datetime "file_updated_at"
    t.datetime "datetime"
    t.string "alt"
    t.string "hint"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_impressao_das_receitas", id: :serial, force: :cascade do |t|
    t.string "titulo", limit: 100
    t.text "texto"
    t.string "imagem_file_name"
    t.string "imagem_content_type"
    t.integer "imagem_file_size"
    t.datetime "imagem_updated_at"
    t.integer "ordem"
    t.integer "ppa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_indicadores", id: :serial, force: :cascade do |t|
    t.integer "programa_id"
    t.string "nome"
    t.integer "ano_de_referencia"
    t.string "indice_de_referencia"
    t.string "fonte"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "unidade_de_medida_id"
  end

  create_table "ppa_iniciativas", id: :serial, force: :cascade do |t|
    t.integer "objetivo_id"
    t.integer "sub_funcao_id"
    t.string "descricao"
    t.integer "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "funcao_id"
    t.integer "natureza_da_iniciativa_id"
    t.integer "unidade_orcamentaria_id"
    t.integer "proposta_id"
  end

  create_table "ppa_metas", id: :serial, force: :cascade do |t|
    t.integer "objetivo_id"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_micro_regioes", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "regiao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_naturezas_das_iniciativas", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_objetivos", id: :serial, force: :cascade do |t|
    t.integer "orgao_id"
    t.integer "programa_id"
    t.string "descricao"
    t.integer "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_orgaos", id: :serial, force: :cascade do |t|
    t.integer "ppa_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "codigo"
    t.string "legislacao"
    t.string "sigla"
    t.date "data_da_legislacao"
    t.string "secretario"
    t.boolean "participa_da_elaboracao_do_ppa"
  end

  create_table "ppa_paginas", id: :serial, force: :cascade do |t|
    t.string "titulo"
    t.string "texto_menu"
    t.text "conteudo"
    t.integer "ppa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_participativo_cidadaos", id: :serial, force: :cascade do |t|
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "nome"
    t.string "cpf_cnpj"
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer "sign_in_count", default: 0, null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.inet "current_sign_in_ip"
    t.inet "last_sign_in_ip"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "provider"
    t.string "uid"
    t.string "confirmation_token"
    t.datetime "confirmed_at"
    t.datetime "confirmation_sent_at"
    t.string "unconfirmed_email"
    t.boolean "aceitou_os_termos_de_uso"
    t.index ["confirmation_token"], name: "index_ppa_participativo_cidadaos_on_confirmation_token", unique: true
    t.index ["email"], name: "index_ppa_participativo_cidadaos_on_email", unique: true
    t.index ["reset_password_token"], name: "index_ppa_participativo_cidadaos_on_reset_password_token", unique: true
  end

  create_table "ppa_ppas", id: :serial, force: :cascade do |t|
    t.integer "exercicio_inicial"
    t.integer "exercicio_final"
    t.string "prefeito"
    t.string "vice_prefeito"
    t.string "legislacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "url_arquivo_de_contexto_file_name"
    t.string "url_arquivo_de_contexto_content_type"
    t.integer "url_arquivo_de_contexto_file_size"
    t.datetime "url_arquivo_de_contexto_updated_at"
    t.text "pagina_principal"
    t.boolean "libera_propostas"
    t.boolean "libera_votacao"
    t.integer "quantidade_limite_de_propostas"
    t.boolean "ppa_participativo_ativo"
    t.text "chamada_para_envio_de_propostas"
    t.text "chamada_para_votacao_de_propostas"
    t.date "data_da_legislacao"
    t.integer "quantidade_de_caracteres_das_propostas"
    t.boolean "ativar_somente_area_tematica"
    t.boolean "ativar_somente_micro_regiao"
    t.date "abertura_do_periodo_de_propostas"
    t.date "fim_do_periodo_de_propostas"
    t.date "abertura_do_periodo_de_votacao"
    t.date "fim_do_periodo_de_votacao"
    t.string "capa_de_apresentacao_ppa_participativo_file_name"
    t.string "capa_de_apresentacao_ppa_participativo_content_type"
    t.integer "capa_de_apresentacao_ppa_participativo_file_size"
    t.datetime "capa_de_apresentacao_ppa_participativo_updated_at"
    t.boolean "libera_problemas"
    t.string "termos_de_uso"
    t.boolean "habilitar_termos_de_uso"
    t.string "financiamento_do_plano"
    t.integer "status"
    t.date "data_de_envio"
  end

  create_table "ppa_programas", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "codigo"
    t.string "justificativa"
    t.integer "ppa_id"
    t.integer "eixo_id"
    t.integer "tipo_de_programa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "orgao_id"
  end

  create_table "ppa_projecoes_de_despesa", id: :serial, force: :cascade do |t|
    t.integer "orcador_id"
    t.string "orcador_type"
    t.integer "unidade_orcamentaria_id"
    t.decimal "valor", precision: 12, scale: 2
    t.integer "exercicio"
    t.integer "tipo_de_despesa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["orcador_id"], name: "index_ppa_projecoes_de_despesa_on_orcador_id"
  end

  create_table "ppa_propostas", id: :serial, force: :cascade do |t|
    t.text "descricao"
    t.integer "cidadao_id"
    t.integer "sub_area_tematica_id"
    t.integer "micro_regiao_id"
    t.integer "ppa_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "status"
    t.text "observacoes"
    t.integer "votos_internos"
    t.integer "proposta_combinada_id"
    t.text "problema"
    t.boolean "is_problema"
    t.integer "area_tematica_id"
    t.text "proposta_revisada"
    t.boolean "interna"
  end

  create_table "ppa_quantitativos", id: :serial, force: :cascade do |t|
    t.integer "meta_id"
    t.integer "exercicio"
    t.decimal "indice_de_referencia", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "unidade_de_medida_id"
  end

  create_table "ppa_regioes", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "ppa_id"
  end

  create_table "ppa_sub_areas_tematicas", id: :serial, force: :cascade do |t|
    t.integer "area_tematica_id"
    t.integer "funcao_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_sub_funcoes", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "funcao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "codigo"
  end

  create_table "ppa_tipos_de_programa", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "codigo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_unidades_orcamentarias", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "codigo"
    t.integer "orgao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "sigla"
  end

  create_table "ppa_valores_do_convenio", id: :serial, force: :cascade do |t|
    t.integer "convenio_id"
    t.integer "tipo_de_despesa_id"
    t.integer "exercicio"
    t.decimal "valor", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "ppa_votos_da_proposta", id: :serial, force: :cascade do |t|
    t.integer "cidadao_id"
    t.integer "proposta_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "projecao_calculo_de_projecoes", id: :serial, force: :cascade do |t|
    t.integer "exercicio_base"
    t.integer "exercicio_destino"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "projecao_de_receita_id"
    t.boolean "recalcular_valor"
    t.text "memoria_de_calculo"
  end

  create_table "projecao_calculo_por_exercicios", id: :serial, force: :cascade do |t|
    t.integer "receita_id"
    t.integer "receita_do_calculo_de_projecao_id"
    t.integer "tipo"
    t.integer "exercicio"
    t.decimal "total", precision: 12, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "importado"
  end

  create_table "projecao_grupos_de_indice", id: :serial, force: :cascade do |t|
    t.integer "projecao_de_receita_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "projecao_indices_de_projecao", id: :serial, force: :cascade do |t|
    t.integer "projecao_de_receita_id"
    t.integer "grupo_de_indice_id"
    t.string "nome"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "fonte_das_projecoes"
  end

  create_table "projecao_indices_do_calculo_de_projecao", id: :serial, force: :cascade do |t|
    t.integer "indice_de_projecao_id"
    t.integer "calculo_de_projecao_id"
    t.decimal "percentual", precision: 5, scale: 2
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "projecao_projecoes_de_receitas", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.boolean "receitas_importadas", default: false
    t.bigint "exercicio_base_inicial"
    t.bigint "exercicio_base_final"
    t.bigint "exercicio_corrente"
    t.bigint "exercicio_projecao_inicial"
    t.bigint "exercicio_projecao_final"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "planejamento_id"
    t.string "planejamento_type"
    t.text "notas_explicativas", default: [], array: true
  end

  create_table "projecao_projecoes_do_indice", id: :serial, force: :cascade do |t|
    t.string "exercicio"
    t.decimal "percentual", precision: 5, scale: 2
    t.string "fonte_da_projecao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "indice_de_projecao_id"
  end

  create_table "projecao_receitas", id: :serial, force: :cascade do |t|
    t.string "codigo"
    t.string "descricao"
    t.string "categoria_economica"
    t.string "origem"
    t.string "especie"
    t.string "rubrica"
    t.string "alinea"
    t.string "subalinea"
    t.string "detalhamento_optativo"
    t.boolean "padrao"
    t.integer "tipo_de_orcamento"
    t.integer "tipo_de_receita"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "projecao_de_receita_id"
    t.boolean "de_convenio"
    t.boolean "novo_tipo", default: true
    t.text "codigo_referencia"
    t.string "sigla", limit: 50
    t.boolean "analitica"
    t.string "nivel_opcional_1", limit: 2
    t.string "nivel_opcional_2", limit: 2
    t.string "nivel_opcional_3", limit: 2
    t.integer "tipo_de_deducao_id"
  end

  create_table "projecao_receitas_dos_calculos_de_projecao", id: :serial, force: :cascade do |t|
    t.integer "receita_id"
    t.integer "calculo_de_projecao_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "requisicoes_de_relatorios", force: :cascade do |t|
    t.bigint "usuario_id"
    t.string "url"
    t.string "titulo"
    t.integer "status"
    t.string "parametros"
    t.string "gerado_em"
    t.string "motivo_da_falha"
    t.integer "contexto_id"
    t.string "contexto_tipo"
    t.binary "pdf"
    t.string "token"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "settings", id: :serial, force: :cascade do |t|
    t.string "var", null: false
    t.text "value"
    t.integer "target_id", null: false
    t.string "target_type", null: false
    t.datetime "created_at"
    t.datetime "updated_at"
    t.index ["target_type", "target_id", "var"], name: "index_settings_on_target_type_and_target_id_and_var", unique: true
  end

  create_table "tableless_relatorios_da_contabilidade", force: :cascade do |t|
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "tcm_arquivos", id: :serial, force: :cascade do |t|
    t.string "nome"
    t.integer "lote_id"
    t.text "conteudo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.string "classe"
    t.boolean "importado"
    t.integer "situacao"
    t.string "doc_file_name"
    t.string "doc_content_type"
    t.integer "doc_file_size"
  end

  create_table "tcm_criticas_do_modelo_do_sim", id: :serial, force: :cascade do |t|
    t.integer "erros_do_lote_id"
    t.string "erro"
    t.integer "modulo_id"
    t.string "modulo_type"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "tcm_erros_do_arquivo", force: :cascade do |t|
    t.bigint "lote_id"
    t.text "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "tcm_erros_dos_lotes", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "tipo"
    t.integer "situacao"
    t.integer "mes_de_referencia"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "tipo_de_poder"
    t.boolean "consulta_avancada"
  end

  create_table "tcm_linhas", force: :cascade do |t|
    t.string "modulo_type"
    t.bigint "modulo_id"
    t.string "arquivo_referencia"
    t.string "conteudo"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "arquivo_id"
    t.integer "tipo_de_poder"
    t.index ["modulo_type", "modulo_id"], name: "index_tcm_linhas_on_modulo_type_and_modulo_id"
  end

  create_table "tcm_lotes", id: :serial, force: :cascade do |t|
    t.integer "orcamento_id"
    t.integer "tipo"
    t.integer "situacao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "mes_de_referencia"
    t.integer "tipo_de_poder"
  end

  create_table "tokens", force: :cascade do |t|
    t.string "chave"
    t.date "data_limite"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.bigint "modulo_id"
    t.string "modulo_type"
  end

  create_table "transparencia_documentos", force: :cascade do |t|
    t.integer "tipo"
    t.string "titulo"
    t.text "exercicio"
    t.string "anexo_file_name"
    t.string "anexo_content_type"
    t.integer "anexo_file_size"
    t.datetime "anexo_updated_at"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

  create_table "unidades_de_medida", id: :serial, force: :cascade do |t|
    t.string "descricao"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.boolean "utiliza_casa_decimal"
    t.boolean "esconder_unidade"
  end

  create_table "usuarios", id: :serial, force: :cascade do |t|
    t.string "nome_completo", default: "", null: false
    t.string "nome_de_usuario", default: "", null: false
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.integer "perfil_id", null: false
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer "sign_in_count", default: 0, null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.inet "current_sign_in_ip"
    t.inet "last_sign_in_ip"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "nivel_de_permissao_a_unidades"
    t.boolean "receber_email", default: true
    t.boolean "master", default: false
    t.string "email_institucional"
    t.string "cpf", limit: 11
    t.boolean "aprovado", default: false, null: false
    t.bigint "aprovado_por_id"
    t.integer "numero_da_matricula"
    t.string "cargo"
    t.integer "tipo_de_poder"
    t.boolean "desenvolvedor"
    t.date "data_do_termo"
    t.boolean "siafic"
    t.index ["aprovado"], name: "index_usuarios_on_aprovado"
    t.index ["email"], name: "index_usuarios_on_email", unique: true
    t.index ["reset_password_token"], name: "index_usuarios_on_reset_password_token", unique: true
  end

  create_table "versions", id: :serial, force: :cascade do |t|
    t.string "item_type", null: false
    t.integer "item_id", null: false
    t.string "event", null: false
    t.string "whodunnit"
    t.string "ip"
    t.string "user_agent"
    t.integer "usuario_id"
    t.json "object"
    t.json "object_changes"
    t.datetime "created_at"
    t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
  end

  create_table "xxpess", id: false, force: :cascade do |t|
    t.decimal "cdpess", precision: 6
    t.string "tppess", limit: 1
    t.string "nmpess", limit: 60
    t.string "nmfant", limit: 25
    t.string "tplogr", limit: 2
    t.string "endere", limit: 50
    t.string "numero", limit: 6
    t.string "comple", limit: 20
    t.string "pontorefe", limit: 50
    t.string "bairro", limit: 15
    t.string "cdmuni", limit: 4
    t.string "munici", limit: 30
    t.string "ufende", limit: 2
    t.string "nucep", limit: 9
    t.string "ddd", limit: 4
    t.string "fone1", limit: 10
    t.string "fone2", limit: 10
    t.string "fax", limit: 10
    t.string "email", limit: 50
    t.string "iseniss", limit: 1
    t.string "iseninss", limit: 1
    t.string "isenir", limit: 1
    t.decimal "nudepir", precision: 2
    t.string "inscmun", limit: 20
    t.string "cdcpf", limit: 14
    t.string "tpident", limit: 1
    t.string "nuident", limit: 15
    t.string "sgorgex", limit: 8
    t.string "uforgex", limit: 2
    t.date "dtexped"
    t.string "nr_nit", limit: 15
    t.date "dtnasc"
    t.string "cdcgc", limit: 18
    t.string "cdcgf", limit: 20
    t.string "entidpubl", limit: 1
    t.string "tpentipubl", limit: 1
    t.string "nmrepre", limit: 40
    t.string "contato", limit: 15
    t.string "cdbanc", limit: 3
    t.string "cdagen", limit: 4
    t.string "cdopercef", limit: 3
    t.string "cdccor", limit: 12
    t.string "ehlici", limit: 1
    t.date "dtcada"
    t.string "idapto", limit: 1
    t.string "observ", limit: 19
    t.string "profissao", limit: 30
    t.string "cdcivil", limit: 1
    t.string "naturalid", limit: 30
    t.string "tpempr", limit: 1
    t.string "ctrl_autor", limit: 1
    t.string "enderesite", limit: 80
  end

  add_foreign_key "contabilidade_sub_elemento_vinculados", "contabilidade_sub_elementos_de_despesa", column: "sub_elemento_id"
  add_foreign_key "contabilidade_sub_elemento_vinculados", "contabilidade_sub_elementos_de_despesa", column: "sub_elemento_vinculado_id"
  add_foreign_key "contabilidade_sub_elemento_vinculados", "orcamentos"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_fontes_de_recursos", column: "fonte_de_recursos_conta_credito_id"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_fontes_de_recursos", column: "fonte_de_recursos_conta_debito_id"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_naturezas_da_receita", column: "natureza_da_receita_conta_credito_id"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_naturezas_da_receita", column: "natureza_da_receita_conta_debito_id"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_subfuncoes", column: "funcao_e_subfuncao_conta_credito_id"
  add_foreign_key "contabilidade_transferencias_de_saldo_pcasp", "base_subfuncoes", column: "funcao_e_subfuncao_conta_debito_id"
  add_foreign_key "gestao_de_estoque_estoques", "gestao_de_estoque_programa_por_escolas", column: "programa_por_escola_id"
  add_foreign_key "gestao_de_estoque_itens_do_consumo_por_programa", "base_itens", column: "item_id"
  add_foreign_key "gestao_de_estoque_itens_do_consumo_por_programa", "gestao_de_estoque_estoques", column: "estoque_id"
  add_foreign_key "gestao_de_estoque_itens_do_consumo_por_programa", "gestao_de_estoque_itens_do_consumo", column: "item_do_consumo_id"
  add_foreign_key "gestao_de_estoque_itens_do_consumo_por_programa", "gestao_de_estoque_programas_por_consumo", column: "programa_por_consumo_id"
  add_foreign_key "gestao_de_estoque_itens_do_programa_por_almoxarifado_e_transfer", "base_itens", column: "item_id"
  add_foreign_key "gestao_de_estoque_itens_do_programa_por_almoxarifado_e_transfer", "gestao_de_estoque_estoques", column: "estoque_id"
  add_foreign_key "gestao_de_estoque_itens_do_programa_por_almoxarifado_e_transfer", "gestao_de_estoque_itens_da_transferencia", column: "item_da_transferencia_id"
  add_foreign_key "gestao_de_estoque_itens_do_programa_por_almoxarifado_e_transfer", "gestao_de_estoque_programas_por_almoxarifado_e_transferencia", column: "programa_por_almoxarifado_e_transferencia_id"
  add_foreign_key "gestao_de_estoque_programa_por_escolas", "gestao_de_estoque_escolas", column: "escola_id"
  add_foreign_key "gestao_de_estoque_programa_por_escolas", "gestao_de_estoque_programas_escolares", column: "programa_id"
  add_foreign_key "gestao_de_estoque_programas_escolares", "loa_acoes", column: "acao_id"
  add_foreign_key "gestao_de_estoque_programas_por_almoxarifado_e_transferencia", "gestao_de_estoque_almoxarifados", column: "almoxarifado_id"
  add_foreign_key "gestao_de_estoque_programas_por_almoxarifado_e_transferencia", "gestao_de_estoque_programa_por_escolas", column: "programa_por_escola_id"
  add_foreign_key "gestao_de_estoque_programas_por_almoxarifado_e_transferencia", "gestao_de_estoque_transferencias", column: "transferencia_id"
  add_foreign_key "gestao_de_estoque_programas_por_consumo", "gestao_de_estoque_consumos", column: "consumo_id"
  add_foreign_key "gestao_de_estoque_programas_por_consumo", "gestao_de_estoque_escolas", column: "escola_id"
  add_foreign_key "gestao_de_estoque_programas_por_consumo", "gestao_de_estoque_programa_por_escolas", column: "programa_por_escola_id"
  add_foreign_key "licitacao_acoes_do_etp", "licitacao_etps", column: "etp_id"
  add_foreign_key "licitacao_acoes_do_etp", "pca_acoes", column: "acao_id"
  add_foreign_key "licitacao_impactos_ambientais_do_etp", "licitacao_etps", column: "etp_id"
  add_foreign_key "licitacao_medidas_mitigadoras_do_etp", "licitacao_etps", column: "etp_id"
  add_foreign_key "licitacao_solucoes_do_etp", "licitacao_etps", column: "etp_id"
  add_foreign_key "licitacao_unidades_orcamentarias_por_etp", "licitacao_etps", column: "etp_id"
  add_foreign_key "licitacao_unidades_orcamentarias_por_etp", "loa_unidades_orcamentarias", column: "unidade_orcamentaria_id"
  add_foreign_key "oauth_access_grants", "oauth_applications", column: "application_id"
  add_foreign_key "oauth_access_tokens", "oauth_applications", column: "application_id"
  add_foreign_key "oauth_access_tokens", "usuarios", column: "resource_owner_id"
  add_foreign_key "patrimonio_baixas_dos_bens_em_massa", "base_agentes_publicos_municipais", column: "agente_publico_municipal_id"
  add_foreign_key "patrimonio_recebimentos_de_bens", "patrimonio_origem_de_recursos_patrimoniais", column: "origem_de_recurso_patrimonial_id"
end
