Add task to remove duplicated table vizs

pull/13843/head
Alex Martín 7 years ago committed by Alex Martín
parent 6e71b5b481
commit a27d494d34

@ -212,6 +212,32 @@ namespace :cartodb do
end
end
desc "Removes duplicated table visualizations"
task remove_dup_table_vizs_: :evironment do
query = "select
v.user_id,
v.name
from
visualizations v
right join users u on
u.id = v.user_id
group by
v.user_id,
v.name,
v.type
having
v.type = 'table' and
count(*) > 1;"
ActiveRecord::Base.connection.execute(query).find_each do |row|
begin
vizs = Carto::User.find(row['user_id']).visualizations.where(name: row['name']).all
vizs.sort_by(&:updated_at).slice(0..vizs.size - 2).each(&:destroy)
rescue => e
puts "Unable to delete duplicated table vizs for user with id #{row['user_id']}: #{e.inspect}"
end
end
end
private
def inconsistent?(viz)

Loading…
Cancel
Save