Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The sqlite3-ruby gem recently published an improvement to make it easier and more flexible to load extensions:
sparklemotion/sqlite3-ruby#586
Ruby modules for SQLite extensions should implement the interface:
A complementary change in Rails takes advantage of this interface to integrate the primary configuration file with the new sqlite3-ruby interface for extension loading:
rails/rails#53827
The gem template provided here already has a similar method:
This PR updates sqlite3-ruby and database.yml to take advantage of the new feature. Joy of Rails currently uses two extensions: sqlite-ulid and sqlite-vec. Since these gems do no currently implement the expected interface, I’ve added adapter classes to
lib/
.Side note: I have also opened a PR on a repo that would presumably add the feature to the
sqlite-vec
gem and other extensions by the same author: asg017/sqlite-dist#11