Replace an asset's file
Note: This will not apply to any file that has not already been uploaded. If you're trying to upload a large file for a client, upload a small one first then replace with the below steps. If you're trying to fix a file that is stuck uploading in Whitehall, look here.
If you need to replace the file of an existing attachment without changing the URL, follow these steps:
Copy the new file from your computer to a
gds govuk connect scp-push -e <environment> aws/backend:1 filename.ext /tmp
Get an app console on that same server:
gds govuk connect ssh -e <environment> aws/backend:1 govuk_app_console asset-manager
Find the asset:
asset = Asset.find("asset-id-from-url")` # e.g. `57a9c52b40f0b608a700000a` # or for a Whitehall asset: asset = WhitehallAsset.find_by(legacy_url_path: '/government/uploads/system/uploads/attachment_data/file/id/path.ext')`
Check the asset is what you think it is.
Replace the file:
asset.file = Pathname.new("/tmp/filename.ext").open asset.save!