diff --git a/Changelog.md b/Changelog.md index 0ccc9eb56..772876799 100644 --- a/Changelog.md +++ b/Changelog.md @@ -24,6 +24,7 @@ * Fix invalid data in the database for user data export [#7614](https://github.com/diaspora/diaspora/pull/7614) * Fix local migration run without old private key [#7558](https://github.com/diaspora/diaspora/pull/7558) * Fix export not downloadable because the filename was resetted on access [#7622](https://github.com/diaspora/diaspora/pull/7622) +* Delete invalid oEmbed caches with binary titles [#7620](https://github.com/diaspora/diaspora/pull/7620) ## Features * Ask for confirmation when leaving a submittable comment field [#7530](https://github.com/diaspora/diaspora/pull/7530) diff --git a/db/migrate/20170917163640_cleanup_invalid_o_embed_caches.rb b/db/migrate/20170917163640_cleanup_invalid_o_embed_caches.rb new file mode 100644 index 000000000..89272d2ff --- /dev/null +++ b/db/migrate/20170917163640_cleanup_invalid_o_embed_caches.rb @@ -0,0 +1,12 @@ +class CleanupInvalidOEmbedCaches < ActiveRecord::Migration[5.1] + class OEmbedCache < ApplicationRecord + end + class Post < ApplicationRecord + end + + def up + ids = OEmbedCache.where("data LIKE '%!binary%'").ids + Post.where(o_embed_cache_id: ids).update_all(o_embed_cache_id: nil) # rubocop:disable Rails/SkipsModelValidations + OEmbedCache.where(id: ids).delete_all + end +end