class AddEdfiStudentContacts < ActiveRecord::Migration[6.0]
  def change
    create_table :ed_fi_student_contacts do |t|
      t.references :school, type: :integer, null: false,
        foreign_key: { to_table: :Schools, primary_key: :SchoolID, on_delete: :cascade }

      t.references :student, type: :integer, null: false,
        foreign_key: { to_table: :Students, primary_key: :StudentID }

      t.references :family_parent, type: :integer, null: false,
        foreign_key: { to_table: :FamilyParents, primary_key: :FamilyParentID }

      t.integer :primary_relation, default: 0, null: false
      t.string :relation_code, null: false, limit: 4
      t.integer :legal_guardian, default: 0, null: false
      t.integer :lives_with, default: 0, null: false

      t.timestamps

      t.index [:student_id, :family_parent_id], unique: true
    end
  end
end
