Created
July 3, 2020 12:58
-
-
Save ksolvesnutra/d0d44dc5f3c888513b7c045523634528 to your computer and use it in GitHub Desktop.
[issue#549] Script to update Videos related URLs in the content of various sections such as Products, Articles, Videos, Faqs, Studies Redirect-Pages, Sliding-Images.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
artical_arr = [] | |
faq_arr = [] | |
study_arr = [] | |
video_arr = [] | |
product_arr = [] | |
trnsf_pg = [] | |
sliding_img = [] | |
Video.find_each do |vid| | |
Article.where(" | |
content LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
content LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |article| | |
artical_arr << article | |
end | |
Faq.where(" | |
answer LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
answer LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |faq| | |
faq_arr << faq | |
end | |
Study.where(" | |
brief_description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
brief_description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |study| | |
study_arr << study | |
end | |
Video.where(" | |
description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |video| | |
video_arr << video | |
end | |
Product.where(" | |
description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
highlights LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
highlights LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
suggested_use LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
suggested_use LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
supplement_facts LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
supplement_facts LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
quality LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
quality LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
verbiage LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
verbiage LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |product| | |
product_arr << product | |
end | |
TransferPage.where(" | |
url LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
url LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |transfer_page| | |
trnsf_pg << transfer_page | |
end | |
SlidingImage.where(" | |
url LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
url LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |slid_img| | |
sliding_img << slid_img | |
end | |
end | |
Disorder.related_with_video.each do |dis_obj| | |
Article.where(" | |
content LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
content LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |article| | |
artical_arr << article | |
end | |
Faq.where(" | |
answer LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
answer LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |faq| | |
faq_arr << faq | |
end | |
Study.where(" | |
brief_description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
brief_description LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |study| | |
study_arr << study | |
end | |
Video.where(" | |
description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
description LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |video| | |
video_arr << video | |
end | |
Product.where(" | |
description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
description LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
highlights LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
highlights LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
suggested_use LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
suggested_use LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
supplement_facts LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
supplement_facts LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
quality LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
quality LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
verbiage LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
verbiage LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |product| | |
product_arr << product | |
end | |
TransferPage.where(" | |
url LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
url LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |transfer_page| | |
trnsf_pg << transfer_page | |
end | |
SlidingImage.where(" | |
url LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
url LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |slid_img| | |
sliding_img << slid_img | |
end | |
end | |
[ artical_arr.uniq.count, faq_arr.uniq.count, study_arr.uniq.count, video_arr.uniq.count, product_arr.uniq.count, trnsf_pg.uniq.count, sliding_img.uniq.count ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Video.find_each do |vid| | |
puts "Current Video: '#{vid.title}'"; | |
puts "Video id: '#{vid.id}'"; | |
Article.where(" | |
content LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
content LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |article| | |
article.update_attributes( | |
content: article.content.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated article: { #{article.title}, #{article.id} }"; | |
end | |
Faq.where(" | |
answer LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
answer LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |faq| | |
faq.update_attributes( | |
answer: faq.answer.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated faq: { #{faq.question}, #{faq.id} }"; | |
end | |
Study.where(" | |
brief_description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
brief_description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |study| | |
study.update_attributes( | |
brief_description: study.brief_description.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated study: { #{study.title}, #{study.id} }"; | |
end | |
Video.where(" | |
description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |video| | |
video.update_attributes( | |
description: video.description.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated video: { #{video.title}, #{video.id} }"; | |
end | |
Product.where(" | |
description LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
description LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
highlights LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
highlights LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
suggested_use LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
suggested_use LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
supplement_facts LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
supplement_facts LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
quality LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
quality LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' OR | |
verbiage LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
verbiage LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |product| | |
product.update_attributes( | |
description: product.description.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}"), | |
highlights: product.highlights.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}"), | |
suggested_use: product.suggested_use.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}"), | |
supplement_facts: product.supplement_facts.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}"), | |
quality: product.quality.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}"), | |
verbiage: product.verbiage.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated product: { #{product.name}, #{product.id} }"; | |
end | |
TransferPage.where(" | |
url LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
url LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |transfer_page| | |
transfer_page.update_attributes( | |
url: transfer_page.url.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated transfer_page: { #{transfer_page.name}, #{transfer_page.id} }"; | |
end | |
SlidingImage.where(" | |
url LIKE '%videos/#{vid.id}-#{vid.title.parameterize}%' OR | |
url LIKE '%videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}%' | |
").each do |slid_img| | |
slid_img.update_attributes( | |
url: slid_img.url.gsub("videos/#{vid.id}-#{vid.title.parameterize}", "videos/#{vid.slug}").gsub("videos/#{vid.id}-#{CGI.escape(vid.title.downcase.gsub(" ", "-"))}", "videos/#{vid.slug}") | |
) | |
puts "updated sliding_img: { #{slid_img.id} }"; | |
end | |
end | |
Disorder.related_with_video.each do |dis_obj| | |
Article.where(" | |
content LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
content LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |article| | |
article.update_attributes( | |
content: article.content.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated article: { #{article.title}, #{article.id} }"; | |
end | |
Faq.where(" | |
answer LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
answer LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |faq| | |
faq.update_attributes( | |
answer: faq.answer.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated faq: { #{faq.question}, #{faq.id} }"; | |
end | |
Study.where(" | |
brief_description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
brief_description LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |study| | |
study.update_attributes( | |
brief_description: study.brief_description.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated study: { #{study.title}, #{study.id} }"; | |
end | |
Video.where(" | |
description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
description LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |video| | |
video.update_attributes( | |
description: video.description.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated video: { #{video.title}, #{video.id} }"; | |
end | |
Product.where(" | |
description LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
description LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
highlights LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
highlights LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
suggested_use LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
suggested_use LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
supplement_facts LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
supplement_facts LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
quality LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
quality LIKE '%videos/disorder/#{dis_obj.id}%' OR | |
verbiage LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
verbiage LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |product| | |
product.update_attributes( | |
description: product.description.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}"), | |
highlights: product.highlights.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}"), | |
suggested_use: product.suggested_use.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}"), | |
supplement_facts: product.supplement_facts.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}"), | |
quality: product.quality.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}"), | |
verbiage: product.verbiage.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated product: { #{product.name}, #{product.id} }"; | |
end | |
TransferPage.where(" | |
url LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
url LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |transfer_page| | |
transfer_page.update_attributes( | |
url: transfer_page.url.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated transfer_page: { #{transfer_page.name}, #{transfer_page.id} }"; | |
end | |
SlidingImage.where(" | |
url LIKE '%videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}%' OR | |
url LIKE '%videos/disorder/#{dis_obj.id}%' | |
").each do |slid_img| | |
slid_img.update_attributes( | |
url: slid_img.url.gsub("videos?q%5Bvideo_disorders_disorder_id_eq%5D=#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}").gsub("videos/disorder/#{dis_obj.id}", "videos/disorder/#{dis_obj.slug}") | |
) | |
puts "updated sliding_img: { #{slid_img.id} }"; | |
end | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment