class AddContaPaiIdToContabilidadeConta < ActiveRecord::Migration[5.2]
  def change
    add_column :contabilidade_contas, :conta_pai_id, :bigint

    puts "Criando relação das contas pais..."

    ActiveRecord::Base.connection.execute(
    "UPDATE contabilidade_contas set conta_pai_id = conta_pai.id FROM contabilidade_contas as conta_pai 
      WHERE conta_pai.orcamento_id = contabilidade_contas.orcamento_id
        AND conta_pai.id != contabilidade_contas.id
        AND conta_pai.classe = contabilidade_contas.classe 
        AND conta_pai.grupo = contabilidade_contas.grupo
        AND conta_pai.subgrupo = contabilidade_contas.subgrupo
        AND conta_pai.titulo = contabilidade_contas.titulo
        AND conta_pai.subtitulo = contabilidade_contas.subtitulo
        AND conta_pai.item = contabilidade_contas.item
        AND conta_pai.subitem = '00'
        "
    )
  end
end
