Skip to content

Commit

Permalink
Merge pull request #2036 from CandleScience/tidy-dup-legacy-urls
Browse files Browse the repository at this point in the history
Tidy Rake task to remove duplicate legacy URLs
  • Loading branch information
tvdeyen authored Feb 22, 2021
2 parents 0a3d16d + 1471ee7 commit 5490ad8
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
12 changes: 12 additions & 0 deletions lib/alchemy/tasks/tidy.rb
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,18 @@ def remove_orphaned_contents
end
end

def remove_duplicate_legacy_urls
puts "\n## Removing duplicate legacy URLs"
sql = <<~SQL
DELETE FROM alchemy_legacy_page_urls A USING alchemy_legacy_page_urls B
WHERE A.page_id = B.page_id
AND A.urlname = B.urlname
AND A.id < B.id
SQL
count = ActiveRecord::Base.connection.exec_delete(sql)
log "Deleted #{count} duplicate legacy URLs"
end

private

def destroy_orphaned_records(records, class_name)
Expand Down
6 changes: 6 additions & 0 deletions lib/tasks/alchemy/tidy.rake
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ namespace :alchemy do
Rake::Task["alchemy:tidy:content_positions"].invoke
Rake::Task["alchemy:tidy:remove_orphaned_records"].invoke
Rake::Task["alchemy:tidy:remove_trashed_elements"].invoke
Rake::Task["alchemy:tidy:remove_duplicate_legacy_urls"].invoke
end

desc "Fixes element positions."
Expand Down Expand Up @@ -42,6 +43,11 @@ namespace :alchemy do
Alchemy::Tidy.remove_trashed_elements
end

desc "Remove duplicate legacy URLs"
task remove_duplicate_legacy_urls: [:environment] do
Alchemy::Tidy.remove_duplicate_legacy_urls
end

desc "List Alchemy elements usage"
task elements_usage: :environment do
puts "\n"
Expand Down

0 comments on commit 5490ad8

Please sign in to comment.