Top 50 Largest Uploads スクリプト破損

大きなアップロードを見つけるためにエクスプローラースクリプトを使用することがあります。

次のクエリを実行しようとすると、

SELECT posts.id AS post_id,
    uploads.original_filename,
    ROUND(uploads.filesize / 1000000.0, 2) AS size_in_mb,
    uploads.extension,
    uploads.created_at,
    uploads.url
FROM post_uploads
JOIN uploads ON uploads.id = post_uploads.upload_id
JOIN posts ON posts.id = post_uploads.post_id
ORDER BY uploads.filesize DESC
LIMIT 50

次のメッセージが表示されます。

PG::UndefinedTable: ERROR:  relation "post_uploads" does not exist
LINE 13: FROM post_uploads
              ^

将来このトピックを見つける方のために、これは Search attachments by storage name に関連しています。

「いいね!」 2

はい、post_uploads テーブルは非推奨になりました。現在は uploads テーブルと upload_references テーブルを使用する必要があると思います。

ご報告ありがとうございます。:+1:


こちらが更新されたバージョンです。@Ivan_Rapekas さん、必要であればどうぞ。

SELECT posts.id AS post_id,
    uploads.original_filename,
    ROUND(uploads.filesize / 1000000.0, 2) AS size_in_mb,
    uploads.extension,
    uploads.created_at,
    uploads.url
FROM upload_references
JOIN uploads ON uploads.id = upload_references.upload_id
JOIN posts ON posts.id = upload_references.target_id AND upload_references.target_type = 'Post'
ORDER BY uploads.filesize DESC
LIMIT 50
「いいね!」 3

これで修正されるはずです::+1:

「いいね!」 2

このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。