Sha256: e9397300e6e0acc9081fde2d5db7b7ced5a570feb802a0f13aaf72616abe39cb

Contents?: true

Size: 1.19 KB

Versions: 73

Compression:

Stored size: 1.19 KB

Contents

class CreateResearchStudyParticipants < ActiveRecord::Migration[5.1]
  def change
    create_table :research_study_participants do |t|
      t.references :participant,
                   null: false,
                   foreign_key: { to_table: :patients },
                   index: true
      t.references :study,
                   null: false,
                   foreign_key: { to_table: :research_studies },
                   index: true
      t.date :joined_on, null: false
      t.date :left_on
      t.datetime :deleted_at
      t.references :updated_by, foreign_key: { to_table: :users }, index: true
      t.references :created_by, foreign_key: { to_table: :users }, index: true
      t.timestamps null: false
    end

    # This create a postgres partial index
    # A participant can only be enrolled once in a study  must be unique in for any unit
    # Ignoring any times there were deleted (for example because they were added in error and so
    # removed, but subsequently added again)
    add_index :research_study_participants,
              [:participant_id, :study_id],
              name: :unique_study_participants,
              unique: true,
              where: "deleted_at IS NULL"
  end
end

Version data entries

73 entries across 73 versions & 1 rubygems

Version Path
renalware-core-2.0.64 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.63 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.62 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.61 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.60 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.58 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.57 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.56 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.55 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.54 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.53 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.52 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.51 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.50 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.48 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.47 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.46 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.45 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.44 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.43 db/migrate/20171012143050_create_research_study_participants.rb