Commit 1d5460cd authored by Benjamin Neff's avatar Benjamin Neff

Cleanup invalid aspects and set unique index

parent 0577bf80
class CleanupAspectsAndAddUniqueIndex < ActiveRecord::Migration[5.1]
class Aspect < ApplicationRecord
end
def up
cleanup_aspects
add_index :aspects, %i[user_id name], name: :index_aspects_on_user_id_and_name, length: {name: 190}, unique: true
end
def down
remove_index :aspects, name: :index_aspects_on_user_id_and_name
end
def cleanup_aspects
Aspect.where(user_id: 0).delete_all
Aspect.joins("INNER JOIN aspects as a2 ON aspects.user_id = a2.user_id AND aspects.name = a2.name")
.where("aspects.id > a2.id").each do |aspect|
aspect.update_attributes(name: "#{aspect.name}_#{UUID.generate(:compact)}")
end
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment