Active Storage DB
An Active Storage service upload/download plugin that stores files in a PostgreSQL or MySQL database.
- supports Rails 6.0, 6.1 and 7.0;
- all service methods implemented;
- attachment data stored in a binary field (or blob).
Useful also with platforms like Heroku (due to their ephemeral file system).
- Setup Active Storage in your Rails application
- Add to your Gemfile
gem 'active_storage_db'(and execute:
- Install the gem migrations:
bin/rails active_storage_db:install:migrations(and execute:
- Add to your
mount ActiveStorageDB::Engine => '/active_storage_db'
- Change Active Storage service in config/environments/development.rb to:
config.active_storage.service = :db
- Add to config/storage.yml:
db: service: DB
Some utility tasks are available:
# list attachments ordered by blob id desc (with limit 100): bin/rails 'asdb:list' # search attachments by filename (or part of it) bin/rails 'asdb:search[some_filename]' # download attachment by blob id (retrieved with list or search tasks) - the second argument is the destination: bin/rails 'asdb:download[123,/tmp]'
Do you like it? Star it!
If you use this component just star it. A developer is more motivated to improve a project when there is some interest.
Or consider offering me a coffee, it's a small thing but it is greatly appreciated: about me.
- Mattia Roccoberton: author
- Inspired by activestorage-database-service project
The gem is available as open source under the terms of the MIT License.