Merge pull request #8647 from demarches-simplifiees/US/fix-missing-index
correctif(db): index manquant sur les active_storage_attachements.blob_id -> active_storage_blob.id
This commit is contained in:
commit
1fa9a5895a
3 changed files with 27 additions and 1 deletions
|
@ -0,0 +1,5 @@
|
||||||
|
class FixActiveStorageAttachmentMissingFkOnBlobId < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
add_foreign_key :active_storage_attachments, :active_storage_blobs, column: :blob_id, validate: false
|
||||||
|
end
|
||||||
|
end
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 2023_02_07_105539) do
|
ActiveRecord::Schema.define(version: 2023_02_16_130722) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "pgcrypto"
|
enable_extension "pgcrypto"
|
||||||
|
|
21
lib/tasks/deployment/20230216135218_reclean_attachments.rake
Normal file
21
lib/tasks/deployment/20230216135218_reclean_attachments.rake
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
namespace :after_party do
|
||||||
|
desc 'Deployment task: reclean_attachments'
|
||||||
|
task reclean_attachments: :environment do
|
||||||
|
puts "Running deploy task 'reclean_attachments'"
|
||||||
|
|
||||||
|
invalid_attachments = ActiveStorage::Attachment.where.missing(:blob)
|
||||||
|
invalid_attachments_count = invalid_attachments.size
|
||||||
|
|
||||||
|
if invalid_attachments.any?
|
||||||
|
invalid_attachments.destroy_all
|
||||||
|
puts "#{invalid_attachments_count} with blob that doesn't exist have been destroyed"
|
||||||
|
else
|
||||||
|
puts "No attachments with blob that doesn't exist found"
|
||||||
|
end
|
||||||
|
|
||||||
|
# Update task as completed. If you remove the line below, the task will
|
||||||
|
# run with every deploy (or every time you call after_party:run).
|
||||||
|
AfterParty::TaskRecord
|
||||||
|
.create version: AfterParty::TaskRecorder.new(__FILE__).timestamp
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue