Sha256: d6f70b51ce771500ee564fe523cafae7e813aa3b0996148803fee81259bb85f4

Contents?: true

Size: 1.27 KB

Versions: 98

Compression:

Stored size: 1.27 KB

Contents

class CreateResearchStudyParticipants < ActiveRecord::Migration[5.1]
  def change
    within_renalware_schema do
      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
end

Version data entries

98 entries across 98 versions & 1 rubygems

Version Path
renalware-core-2.1.1 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.1.0 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.167 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.166 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.165 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.164 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.163 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.162 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.161 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.160 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.159 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.158 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.157 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.156 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.155 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.153 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.152 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.151 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.149 db/migrate/20171012143050_create_research_study_participants.rb
renalware-core-2.0.148 db/migrate/20171012143050_create_research_study_participants.rb