adds polls related indexes and foreign keys

This commit is contained in:
Juanjo Bazán
2017-02-12 14:59:18 +01:00
parent db9ee74828
commit 5923d7103c
2 changed files with 65 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
class AddPollsRelatedIndexes < ActiveRecord::Migration
def change
add_index :poll_booth_assignments, :booth_id
add_index :poll_booth_assignments, :poll_id
add_index :poll_final_recounts, :officer_assignment_id
add_index :poll_officer_assignments, :booth_assignment_id
add_index :poll_officer_assignments, :officer_id
add_index :poll_officer_assignments, [:officer_id, :date]
add_index :poll_officers, :user_id
add_index :poll_voters, :booth_assignment_id
add_index :poll_voters, :officer_assignment_id
add_index :polls, [:starts_at, :ends_at]
add_foreign_key :poll_answers, :poll_questions, column: :question_id
add_foreign_key :poll_booth_assignments, :polls
add_foreign_key :poll_final_recounts, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_final_recounts, :poll_officer_assignments, column: :officer_assignment_id
add_foreign_key :poll_null_results, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_null_results, :poll_officer_assignments, column: :officer_assignment_id
add_foreign_key :poll_white_results, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_white_results, :poll_officer_assignments, column: :officer_assignment_id
add_foreign_key :poll_officer_assignments, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_partial_results, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_partial_results, :poll_officer_assignments, column: :officer_assignment_id
add_foreign_key :poll_voters, :polls
add_foreign_key :poll_recounts, :poll_booth_assignments, column: :booth_assignment_id
add_foreign_key :poll_recounts, :poll_officer_assignments, column: :officer_assignment_id
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: 20170208160130) do
ActiveRecord::Schema.define(version: 20170212123435) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -393,6 +393,9 @@ ActiveRecord::Schema.define(version: 20170208160130) do
t.datetime "updated_at", null: false
end
add_index "poll_booth_assignments", ["booth_id"], name: "index_poll_booth_assignments_on_booth_id", using: :btree
add_index "poll_booth_assignments", ["poll_id"], name: "index_poll_booth_assignments_on_poll_id", using: :btree
create_table "poll_booths", force: :cascade do |t|
t.string "name"
t.string "location"
@@ -410,6 +413,7 @@ ActiveRecord::Schema.define(version: 20170208160130) do
end
add_index "poll_final_recounts", ["booth_assignment_id"], name: "index_poll_final_recounts_on_booth_assignment_id", using: :btree
add_index "poll_final_recounts", ["officer_assignment_id"], name: "index_poll_final_recounts_on_officer_assignment_id", using: :btree
create_table "poll_null_results", force: :cascade do |t|
t.integer "author_id"
@@ -436,10 +440,16 @@ ActiveRecord::Schema.define(version: 20170208160130) do
t.string "user_data_log", default: ""
end
add_index "poll_officer_assignments", ["booth_assignment_id"], name: "index_poll_officer_assignments_on_booth_assignment_id", using: :btree
add_index "poll_officer_assignments", ["officer_id", "date"], name: "index_poll_officer_assignments_on_officer_id_and_date", using: :btree
add_index "poll_officer_assignments", ["officer_id"], name: "index_poll_officer_assignments_on_officer_id", using: :btree
create_table "poll_officers", force: :cascade do |t|
t.integer "user_id"
end
add_index "poll_officers", ["user_id"], name: "index_poll_officers_on_user_id", using: :btree
create_table "poll_partial_results", force: :cascade do |t|
t.integer "question_id"
t.integer "author_id"
@@ -509,7 +519,9 @@ ActiveRecord::Schema.define(version: 20170208160130) do
t.integer "user_id"
end
add_index "poll_voters", ["booth_assignment_id"], name: "index_poll_voters_on_booth_assignment_id", using: :btree
add_index "poll_voters", ["document_number"], name: "index_poll_voters_on_document_number", using: :btree
add_index "poll_voters", ["officer_assignment_id"], name: "index_poll_voters_on_officer_assignment_id", using: :btree
add_index "poll_voters", ["poll_id", "document_number", "document_type"], name: "doc_by_poll", using: :btree
add_index "poll_voters", ["poll_id"], name: "index_poll_voters_on_poll_id", using: :btree
add_index "poll_voters", ["user_id"], name: "index_poll_voters_on_user_id", using: :btree
@@ -537,6 +549,8 @@ ActiveRecord::Schema.define(version: 20170208160130) do
t.boolean "geozone_restricted", default: false
end
add_index "polls", ["starts_at", "ends_at"], name: "index_polls_on_starts_at_and_ends_at", using: :btree
create_table "proposal_notifications", force: :cascade do |t|
t.string "title"
t.text "body"
@@ -852,11 +866,25 @@ ActiveRecord::Schema.define(version: 20170208160130) do
add_foreign_key "moderators", "users"
add_foreign_key "notifications", "users"
add_foreign_key "organizations", "users"
add_foreign_key "poll_answers", "poll_questions", column: "question_id"
add_foreign_key "poll_booth_assignments", "polls"
add_foreign_key "poll_final_recounts", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_final_recounts", "poll_officer_assignments", column: "officer_assignment_id"
add_foreign_key "poll_null_results", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_null_results", "poll_officer_assignments", column: "officer_assignment_id"
add_foreign_key "poll_officer_assignments", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_partial_results", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_partial_results", "poll_officer_assignments", column: "officer_assignment_id"
add_foreign_key "poll_partial_results", "poll_questions", column: "question_id"
add_foreign_key "poll_partial_results", "users", column: "author_id"
add_foreign_key "poll_questions", "polls"
add_foreign_key "poll_questions", "proposals"
add_foreign_key "poll_questions", "users", column: "author_id"
add_foreign_key "poll_recounts", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_recounts", "poll_officer_assignments", column: "officer_assignment_id"
add_foreign_key "poll_voters", "polls"
add_foreign_key "poll_white_results", "poll_booth_assignments", column: "booth_assignment_id"
add_foreign_key "poll_white_results", "poll_officer_assignments", column: "officer_assignment_id"
add_foreign_key "users", "geozones"
add_foreign_key "valuators", "users"
end