adds poll_id and stats fields to poll_voters

This commit is contained in:
Juanjo Bazán
2017-01-25 12:03:48 +01:00
parent 480f92bdd9
commit 900563e31c
3 changed files with 21 additions and 3 deletions

View File

@@ -1,11 +1,13 @@
class Poll
class Voter < ActiveRecord::Base
belongs_to :booth_assignment
delegate :poll, to: :booth_assignment
belongs_to :poll
validates :booth_assignment, presence: true
validate :in_census
validate :has_not_voted
validates :poll, presence: true
validates :document_number, presence: true, uniqueness: { scope: [:poll_id, :document_type] }
def in_census
errors.add(:document_number, :not_in_census) unless census_api_response.valid?

View File

@@ -0,0 +1,12 @@
class AddPollIdAndStatsFieldsToPollVoter < ActiveRecord::Migration
def change
add_column :poll_voters, :poll_id, :integer, null: false
remove_column :poll_voters, :booth_assignment_id, :integer, null: false
add_column :poll_voters, :booth_assignment_id, :integer
add_column :poll_voters, :age, :integer
add_column :poll_voters, :gender, :string
add_column :poll_voters, :geozone_id, :integer
end
end

View File

@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170120164547) do
ActiveRecord::Schema.define(version: 20170125104542) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -449,9 +449,13 @@ ActiveRecord::Schema.define(version: 20170120164547) do
create_table "poll_voters", force: :cascade do |t|
t.string "document_number"
t.string "document_type"
t.integer "booth_assignment_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "poll_id", null: false
t.integer "booth_assignment_id"
t.integer "age"
t.string "gender"
t.integer "geozone_id"
end
create_table "polls", force: :cascade do |t|