Skip to content

Commit

Permalink
Create a report for files with no size
Browse files Browse the repository at this point in the history
Ref #4990
  • Loading branch information
jcoyne committed May 17, 2024
1 parent 817ae59 commit d8f855e
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions app/reports/files_with_no_size.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# frozen_string_literal: true

# Look for Files that don't have a size attribute
# Invoke via:
# bin/rails r -e production "FilesWithNoSize.report"
class FilesWithNoSize
JSON_PATH = '$.contains[*].structural.contains[*]'
SQL = <<~SQL.squish.freeze
SELECT ro.external_identifier
FROM repository_objects AS ro, repository_object_versions AS rov WHERE
ro.head_version_id = rov.id
AND ro.object_type = 'dro'
AND jsonb_array_length(jsonb_path_query_array(rov.structural, '#{JSON_PATH}')) !=
jsonb_array_length(jsonb_path_query_array(rov.structural, '#{JSON_PATH}.size'))
SQL

def self.report
puts "item_druid\n"
result = ActiveRecord::Base.connection.execute(SQL)

result.each do |row|
puts row.fetch('external_identifier')
end
end
end

0 comments on commit d8f855e

Please sign in to comment.