aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@plataformatec.com.br>2013-08-05 09:16:03 -0700
committerJosé Valim <jose.valim@plataformatec.com.br>2013-08-05 09:16:03 -0700
commitb2d70782cff6e44943fcfca92c1f3f342e7ce785 (patch)
treefcb37f07ccb111253bb2385d8955d1dbbc1655fd /activerecord/lib
parent3baee0982d25e64cab2eeb046369f0fcf9ee2436 (diff)
parentf036239447c79843983ee1c0d3dfe68484d63203 (diff)
downloadrails-b2d70782cff6e44943fcfca92c1f3f342e7ce785.tar.gz
rails-b2d70782cff6e44943fcfca92c1f3f342e7ce785.tar.bz2
rails-b2d70782cff6e44943fcfca92c1f3f342e7ce785.zip
Merge pull request #11763 from schneems/schneems/create-sqlite3db
Create sqlite3 directory if not present
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
index 7d940fe1c9..16306a78cf 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -17,12 +17,14 @@ module ActiveRecord
# Allow database path relative to Rails.root, but only if
# the database path is not the special path that tells
# Sqlite to build a database only in memory.
- if defined?(Rails.root) && ':memory:' != config[:database]
- config[:database] = File.expand_path(config[:database], Rails.root)
+ if ':memory:' != config[:database]
+ config[:database] = Pathname.new(config[:database])
+ config[:database] = config[:database].expand_path(Rails.root) if defined?(Rails.root)
+ config[:database].dirname.mkdir unless config[:database].dirname.directory?
end
db = SQLite3::Database.new(
- config[:database],
+ config[:database].to_s,
:results_as_hash => true
)