Last active
May 28, 2024 01:50
-
-
Save lazaronixon/1f023a19684fa63a286835f1b408f59d to your computer and use it in GitHub Desktop.
config/initializers/sqlite3.rb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config/database.yml | |
# SQLite. Versions 3.8.0 and up are supported. | |
# gem install sqlite3 | |
# | |
# Ensure the SQLite 3 gem is defined in your Gemfile | |
# gem "sqlite3" | |
# | |
default: &default | |
adapter: sqlite3 | |
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 10 } %> | |
retries: 100 | |
default_transaction_mode: immediate | |
development: | |
primary: | |
<<: *default | |
database: storage/db/development.sqlite3 | |
# Warning: The database defined as "test" will be erased and | |
# re-generated from your development database when you run "rake". | |
# Do not set this db to the same as development or production. | |
test: | |
primary: | |
<<: *default | |
database: storage/db/test.sqlite3 | |
performance: | |
primary: | |
<<: *default | |
database: storage/db/performance.sqlite3 | |
production: | |
primary: | |
<<: *default | |
database: storage/db/production.sqlite3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config/initializers/sqlite3.rb | |
module SQLite3Configuration | |
private | |
def configure_connection | |
super | |
if @config[:retries] | |
retries = self.class.type_cast_config_to_integer(@config[:retries]) | |
raw_connection.busy_handler do |count| | |
(count <= retries).tap { |result| sleep count * 0.001 if result } | |
end | |
end | |
end | |
end | |
ActiveSupport.on_load :active_record do | |
ActiveRecord::ConnectionAdapters::SQLite3Adapter.prepend SQLite3Configuration | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment