class AddUnidadeOrcamentariaIdToContabilidadeEmpenho < ActiveRecord::Migration[5.2]
  def change
    add_column :contabilidade_empenhos, :unidade_orcamentaria_id, :bigint

    ActiveRecord::Base.connection.execute("
      update contabilidade_empenhos set unidade_orcamentaria_id = loa_subacoes.unidade_orcamentaria_id from loa_orcamentos_da_despesa
      inner join loa_elementos_de_despesa_por_subacao on loa_orcamentos_da_despesa.elemento_de_despesa_por_subacao_id = loa_elementos_de_despesa_por_subacao.id
      inner join loa_subacoes on loa_elementos_de_despesa_por_subacao.subacao_id = loa_subacoes.id
      where contabilidade_empenhos.orcamento_da_despesa_id = loa_orcamentos_da_despesa.id
    ")
  end
end
