Files
fizzy/config/initializers/active_storage.rb
T
Donal McBreen a2333d9a37 Add SQLite support
- UUID support
- Schema compatibility layer, ignore MySQL specific options
- Search not working yet
2025-11-21 09:15:19 +00:00

36 lines
1.0 KiB
Ruby

ActiveSupport.on_load(:active_storage_blob) do
ActiveStorage::DiskController.after_action only: :show do
expires_in 5.minutes, public: true
end
end
# Use DB read/write splitting for Active Storage models
ActiveSupport.on_load(:active_storage_record) do
# SQLite doesn't use separate replica databases
if ENV.fetch("DATABASE_ADAPTER", "mysql") == "sqlite"
connects_to database: { writing: :primary, reading: :primary }
else
connects_to database: { writing: :primary, reading: :replica }
end
end
module ActiveStorageControllerExtensions
extend ActiveSupport::Concern
included do
before_action do
# Add script_name so that Disk Service will generate correct URLs for uploads
ActiveStorage::Current.url_options = {
protocol: request.protocol,
host: request.host,
port: request.port,
script_name: request.script_name
}
end
end
end
Rails.application.config.to_prepare do
ActiveStorage::BaseController.include ActiveStorageControllerExtensions
end