7da3b2cdd0
ObjectStore uploader requires presence of associated `uploads` record when deleting the upload file (through the carrierwave's after_commit hook) because we keep info whether file is LOCAL or REMOTE in `upload` object. For this reason we can not destroy uploads as "dependent: :destroy" hook because these would be deleted too soon. Instead we rely on carrierwave's hook to destroy `uploads` in after_commit hook. But in before_destroy hook we still have to delete not-mounted uploads (which don't use carrierwave's destroy hook). This has to be done in before_Destroy instead of after_commit because `FileUpload` requires existence of model's object on destroy action. This is not ideal state of things, in a next step we should investigate how to unify model dependencies so we can use same workflow for all uploads. Related to #45425 |
||
---|---|---|
.. | ||
bin | ||
config | ||
controllers | ||
db/production | ||
factories | ||
features | ||
finders | ||
fixtures | ||
helpers | ||
initializers | ||
javascripts | ||
lib | ||
mailers | ||
migrations | ||
models | ||
policies | ||
presenters | ||
requests | ||
routing | ||
rubocop/cop | ||
serializers | ||
services | ||
sidekiq/cron | ||
support | ||
tasks | ||
unicorn | ||
uploaders | ||
validators | ||
views | ||
workers | ||
factories_spec.rb | ||
fast_spec_helper.rb | ||
rails_helper.rb | ||
rake_helper.rb | ||
simplecov_env.rb | ||
spec_helper.rb |