class AdminHasAndBelongGestionnaire < ActiveRecord::Migration
  class Gestionnaire < ActiveRecord::Base
  end

  class AdministrateursGestionnaire < ActiveRecord::Base
  end

  def up
    create_table :administrateurs_gestionnaires, id: false do |t|
      t.belongs_to :administrateur, index: true
      t.belongs_to :gestionnaire, index: true
    end

    Gestionnaire.all.each do |gestionnaire|
      execute "insert into administrateurs_gestionnaires (gestionnaire_id, administrateur_id) values (#{gestionnaire.id}, #{gestionnaire.administrateur_id}) "
    end

    remove_column :gestionnaires, :administrateur_id
  end

  def down
    add_column :gestionnaires, :administrateur_id, :integer

    AdministrateursGestionnaire.all.each do |ag|
      gestionnaire = Gestionnaire.find(ag.gestionnaire_id)
      gestionnaire.administrateur_id = ag.administrateur_id
      gestionnaire.save
    end

    drop_table :administrateurs_gestionnaires
  end
end