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.42 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.41 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.40 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.39 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.38 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.37 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.36 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.35 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.34 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.33 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.32 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.31 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.30 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.28 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.27 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.26 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.25 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.24 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.23 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.22 db/migrate/20171012143050_create_research_study_participants.rb