Files
manyfold/config/initializers/upgrade.rb
James Smith b5e7812dd3 only upgrade library setting when the server itself starts
bloody initialisation-on-database-migration bloody thing
2026-03-11 11:22:30 +00:00

40 lines
1.9 KiB
Ruby

Rails.application.config.after_initialize do
# Update site settings from old values
SiteSettings.default_viewer_role = "private" if SiteSettings.default_viewer_role == ""
# Transfer path data from settings to libraries
if Rails.const_defined?(:Server)
deprecated_folder_settings = {
path_template: SiteSettings.remove_field("model_path_template"),
parse_metadata_from_path: SiteSettings.remove_field("parse_metadata_from_path"),
safe_folder_names: SiteSettings.remove_field("safe_folder_names")
}.compact
Library.find_each do |library|
library.assign_attributes(deprecated_folder_settings)
library.save(validate: false)
end
end
# Attempt to connect to Redis first before queueing, and fail early
Sidekiq.redis { |conn| conn.info }
# Queue upgrade jobs if Redis is good to go
# and if in server mode
if Rails.const_defined?(:Server)
Upgrade::GenerateSlugsJob.set(queue: :high).perform_later(Model)
Upgrade::GenerateSlugsJob.set(queue: :high).perform_later(Creator)
Upgrade::GenerateSlugsJob.set(queue: :high).perform_later(Collection)
Upgrade::FixStaleAttachmentDataJob.set(queue: :upgrade).perform_later
Upgrade::FixMimeTypes.set(queue: :high).perform_later
Upgrade::FixNilFileSizeValues.set(queue: :upgrade).perform_later
Upgrade::BackfillDataPackages.set(queue: :upgrade).perform_later
Upgrade::DisambiguateUsernamesJob.set(queue: :upgrade).perform_later
Upgrade::UpdateActorsJob.set(queue: :upgrade).perform_later
Upgrade::CreateSpecialListsJob.set(queue: :upgrade).perform_later
Upgrade::FixParentCollections.set(queue: :upgrade).perform_later
Upgrade::PruneOrphanedProblems.set(queue: :upgrade).perform_later
Upgrade::BackfillImageDerivatives.perform_later if SiteSettings.generate_image_derivatives
Upgrade::BackfillModelRenders.perform_later if SiteSettings.generate_model_renders
end
rescue RedisClient::CannotConnectError
end