diff --git a/app/services/active_storage_key_converter.rb b/app/services/active_storage_key_converter.rb
deleted file mode 100644
index 1e5c643e328cc54510e92b9371cac0dfd84b42d8..0000000000000000000000000000000000000000
--- a/app/services/active_storage_key_converter.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-class ActiveStorageKeyConverter
-  def self.convert(legacy_signed_id)
-    # Try to find blob with the un-modified legacy_signed_id
-    blob = ActiveStorage::Blob.find_signed!(legacy_signed_id)
-    legacy_signed_id
-  rescue ActiveSupport::MessageVerifier::InvalidSignature
-    #
-    key_generator = ActiveSupport::KeyGenerator.new(
-      Rails.application.secrets.secret_key_base,
-      iterations: 1000,
-      hash_digest_class: OpenSSL::Digest::SHA1
-    )
-    key_generator = ActiveSupport::CachingKeyGenerator.new(key_generator)
-    secret = key_generator.generate_key("ActiveStorage")
-    verifier = ActiveSupport::MessageVerifier.new(secret)
-
-    ActiveStorage::Blob.find_by_id(verifier.verify(legacy_signed_id, purpose: :blob_id)).try(:signed_id)
-  end
-end
diff --git a/app/services/blocks_migration.rb b/app/services/blocks_migration.rb
deleted file mode 100644
index 95dfcf0327d181c8d9dbcb35dcba66c8bb0d1eb4..0000000000000000000000000000000000000000
--- a/app/services/blocks_migration.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-class BlocksMigration
-
-  def self.cleanup
-    Communication::Block.all.find_each { |block|
-      self.crawl(block.data)
-      block.save
-    }
-  end
-
-  protected
-
-  def self.crawl(enumerable)
-    case enumerable
-    when Array
-      enumerable.each do |item|
-        crawl(item) if [Array, Hash].include?(item.class)
-      end
-    when Hash
-      enumerable.keys.each do |key|
-        if key == "signed_id"
-          # Convert value
-          enumerable[key] = ActiveStorageKeyConverter.convert(enumerable[key]) if key == "signed_id"
-        elsif [Array, Hash].include?(enumerable[key].class)
-          crawl(enumerable[key])
-        end
-      end
-    end
-  end
-
-end
\ No newline at end of file
diff --git a/db/migrate/20230106132654_migrate_to_rails7_sha256_signature.rb b/db/migrate/20230106132654_migrate_to_rails7_sha256_signature.rb
new file mode 100644
index 0000000000000000000000000000000000000000..e71709a48d4588da84b00a853d899af2b4c6ca51
--- /dev/null
+++ b/db/migrate/20230106132654_migrate_to_rails7_sha256_signature.rb
@@ -0,0 +1,48 @@
+class MigrateToRails7Sha256Signature < ActiveRecord::Migration[7.0]
+  def up
+    Communication::Block.all.find_each { |block|
+      crawl(block.data)
+      block.save
+    }
+  end
+
+  protected
+
+  def crawl(enumerable)
+    case enumerable
+    when Array
+      enumerable.each do |item|
+        crawl(item) if [Array, Hash].include?(item.class)
+      end
+    when Hash
+      enumerable.keys.each do |key|
+        if key == "signed_id"
+          # Convert value
+          enumerable[key] = convert(enumerable[key]) if key == "signed_id"
+        elsif [Array, Hash].include?(enumerable[key].class)
+          crawl(enumerable[key])
+        end
+      end
+    end
+  end
+
+  def convert(legacy_signed_id)
+    begin
+      # Try to find blob with the un-modified legacy_signed_id
+      blob = ActiveStorage::Blob.find_signed!(legacy_signed_id)
+      legacy_signed_id
+    rescue ActiveSupport::MessageVerifier::InvalidSignature
+      #
+      key_generator = ActiveSupport::KeyGenerator.new(
+        Rails.application.secrets.secret_key_base,
+        iterations: 1000,
+        hash_digest_class: OpenSSL::Digest::SHA1
+      )
+      key_generator = ActiveSupport::CachingKeyGenerator.new(key_generator)
+      secret = key_generator.generate_key("ActiveStorage")
+      verifier = ActiveSupport::MessageVerifier.new(secret)
+
+      ActiveStorage::Blob.find_by_id(verifier.verify(legacy_signed_id, purpose: :blob_id)).try(:signed_id)
+    end
+  end
+end