Sha256: ff943969bcb88efcc3cad81cbb9fdcf99344a8b1485e1076962e07eb2fefdf84

Contents?: true

Size: 1.12 KB

Versions: 76

Compression:

Stored size: 1.12 KB

Contents

class JoinPeopleTables < ActiveRecord::Migration[5.1]
  def up
    add_reference :egov_utils_natural_people, :person, foreign_key: { to_table: :egov_utils_people }
    select_rows("SELECT id, residence_id FROM egov_utils_natural_people").each do |row|
      if row.second
        value = exec_insert("INSERT INTO egov_utils_people (person_type, residence_id) VALUES (1, #{row.second})", "person create")
      else
        value = exec_insert("INSERT INTO egov_utils_people (person_type) VALUES (1)", "person create")
      end
      id_value = ActiveRecord::Base.connection.send(:last_inserted_id, value)
      execute("UPDATE egov_utils_natural_people SET person_id = #{id_value} WHERE id = #{row.first}")
    end
    # remove_reference :egov_utils_natural_people, :residence
  end

  def down
    add_reference :egov_utils_natural_people, :residence, foreign_key: { to_table: :egov_utils_addresses }
    EgovUtils::NaturalPerson.preload(:person).all.each do |np|
      np.update_column(:residence_id, np.person.residence_id)
    end
    remove_reference :egov_utils_natural_people, :person, foreign_key: { to_table: :egov_utils_people }
  end
end

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
egov_utils-1.5.0.alpha16 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha15 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha14 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha13 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha12 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha11 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha10 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha9 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha8 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha7 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha6 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha5 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha4 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.4.5 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.4.4 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha3 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha2 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.5.0.alpha1 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.4.3 db/migrate/20180403141531_join_people_tables.rb
egov_utils-1.4.2 db/migrate/20180403141531_join_people_tables.rb