Skip to content

Commit 7c34062

Browse files
committed
Update dependency on sqlite3 gem to >= 2.1
This version contains protections against sqlite's lack of fork safety. We also suppress the warnings related to forking with open writable connections, despite the lost memory per-connection. For more context, see: https://github.com/sparklemotion/sqlite3-ruby/blob/main/adr/2024-09-fork-safety.md
1 parent 5ff57a5 commit 7c34062

File tree

5 files changed

+8
-5
lines changed

5 files changed

+8
-5
lines changed

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ platforms :ruby, :windows do
158158
gem "nokogiri", ">= 1.8.1", "!= 1.11.0"
159159

160160
# Active Record.
161-
gem "sqlite3", ">= 2.0"
161+
gem "sqlite3", ">= 2.1"
162162

163163
group :db do
164164
gem "pg", "~> 1.3"

activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
require "active_record/connection_adapters/sqlite3/schema_dumper"
1212
require "active_record/connection_adapters/sqlite3/schema_statements"
1313

14-
gem "sqlite3", ">= 2.0"
14+
gem "sqlite3", ">= 2.1"
1515
require "sqlite3"
1616

17+
# Suppress the warning that SQLite3 issues when open writable connections are carried across fork()
18+
SQLite3::ForkSafety.suppress_warnings!
19+
1720
module ActiveRecord
1821
module ConnectionAdapters # :nodoc:
1922
# = Active Record SQLite3 Adapter

railties/lib/rails/generators/database.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def port
248248
end
249249

250250
def gem
251-
["sqlite3", [">= 2.0"]]
251+
["sqlite3", [">= 2.1"]]
252252
end
253253

254254
def base_package

railties/test/generators/app_generator_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ def test_gemfile_has_no_whitespace_errors
436436
def test_config_database_is_added_by_default
437437
run_generator
438438
assert_file "config/database.yml", /sqlite3/
439-
assert_gem "sqlite3", '">= 2.0"'
439+
assert_gem "sqlite3", '">= 2.1"'
440440
end
441441

442442
def test_config_mysql_database

railties/test/generators/db_system_change_generator_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ class ChangeGeneratorTest < Rails::Generators::TestCase
128128

129129
assert_file("Gemfile") do |content|
130130
assert_match "# Use sqlite3 as the database for Active Record", content
131-
assert_match 'gem "sqlite3", ">= 2.0"', content
131+
assert_match 'gem "sqlite3", ">= 2.1"', content
132132
end
133133

134134
assert_file("Dockerfile") do |content|

0 commit comments

Comments
 (0)