Merge pull request #640 from sgmap/clean_assign_to_duplicates
Clean assign_to duplicates
This commit is contained in:
commit
324628835d
3 changed files with 19 additions and 2 deletions
5
db/migrate/20170801083632_add_id_to_assign_to.rb
Normal file
5
db/migrate/20170801083632_add_id_to_assign_to.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddIdToAssignTo < ActiveRecord::Migration[5.0]
|
||||
def change
|
||||
add_column :assign_tos, :id, :primary_key
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20170713151123) do
|
||||
ActiveRecord::Schema.define(version: 20170801083632) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
@ -64,7 +64,7 @@ ActiveRecord::Schema.define(version: 20170713151123) do
|
|||
t.datetime "updated_at", null: false
|
||||
end
|
||||
|
||||
create_table "assign_tos", id: false, force: :cascade do |t|
|
||||
create_table "assign_tos", force: :cascade do |t|
|
||||
t.integer "gestionnaire_id"
|
||||
t.integer "procedure_id"
|
||||
t.index ["gestionnaire_id"], name: "index_assign_tos_on_gestionnaire_id", using: :btree
|
||||
|
|
12
lib/tasks/2017_08_01_clean_assign_to.rake
Normal file
12
lib/tasks/2017_08_01_clean_assign_to.rake
Normal file
|
@ -0,0 +1,12 @@
|
|||
namespace :'2017_08_01_clean_assign_to' do
|
||||
task clean: :environment do
|
||||
duplicates = AssignTo.group(:gestionnaire_id, :procedure_id).count.select{ |_gestionnaire_id_procedure_id, count| count > 1 }.keys
|
||||
|
||||
duplicate_ids = duplicates.map { |gestionnaire_id, procedure_id| AssignTo.where(gestionnaire_id: gestionnaire_id, procedure_id: procedure_id).pluck(:id) }
|
||||
|
||||
duplicate_ids.each do |ids|
|
||||
ids.pop
|
||||
AssignTo.where(id: ids).destroy_all
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue