aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/connection_specification.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2013-12-20 16:13:34 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2013-12-20 16:13:34 -0800
commitfbb79b517f3127ba620fedd01849f9628b78d6ce (patch)
tree76d127dc18bf93016d4bb59b813fa5c308d594c8 /activerecord/lib/active_record/connection_adapters/connection_specification.rb
parentd0ffa7f8535dc343bb8a421520ea32d8e8be916f (diff)
downloadrails-fbb79b517f3127ba620fedd01849f9628b78d6ce.tar.gz
rails-fbb79b517f3127ba620fedd01849f9628b78d6ce.tar.bz2
rails-fbb79b517f3127ba620fedd01849f9628b78d6ce.zip
fix url connections for sqlite3
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/connection_specification.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/connection_specification.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
index 64fc9e95d8..66d7f04fc3 100644
--- a/activerecord/lib/active_record/connection_adapters/connection_specification.rb
+++ b/activerecord/lib/active_record/connection_adapters/connection_specification.rb
@@ -69,11 +69,22 @@ module ActiveRecord
config = URI.parse url
adapter = config.scheme
adapter = "postgresql" if adapter == "postgres"
+
+ database = if adapter == 'sqlite3'
+ if '/:memory:' == config.path
+ ':memory:'
+ else
+ config.path
+ end
+ else
+ config.path.sub(%r{^/},"")
+ end
+
spec = { :adapter => adapter,
:username => config.user,
:password => config.password,
:port => config.port,
- :database => config.path.sub(%r{^/},""),
+ :database => database,
:host => config.host }
spec.reject!{ |_,value| value.blank? }