class method
self.establish_connection
Ruby on Rails 3.2.22.5
Last seen in v3.2.22.5Signature
self.establish_connection(spec = ENV["DATABASE_URL"])
Establishes the connection to the database. Accepts a hash as input where the :adapter key must be specified with the name of a database adapter (in lower-case) example for regular databases (MySQL, Postgresql, etc):
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "localhost",
:username => "myuser",
:password => "mypass",
:database => "somedatabase"
)
Example for SQLite database:
ActiveRecord::Base.establish_connection(
:adapter => "sqlite",
:database => "path/to/dbfile"
)
Also accepts keys as strings (for parsing from YAML for example):
ActiveRecord::Base.establish_connection(
"adapter" => "sqlite",
"database" => "path/to/dbfile"
)
Or a URL:
ActiveRecord::Base.establish_connection(
"postgres://myuser:mypass@localhost/somedatabase"
)
The exceptions AdapterNotSpecified, AdapterNotFound and ArgumentError may be returned on an error.
Parameters
-
specopt = ENV["DATABASE_URL"]
Source
# File activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb, line 128
def self.establish_connection(spec = ENV["DATABASE_URL"])
resolver = ConnectionSpecification::Resolver.new spec, configurations
spec = resolver.spec
unless respond_to?(spec.adapter_method)
raise AdapterNotFound, "database configuration specifies nonexistent #{spec.config[:adapter]} adapter"
end
remove_connection
connection_handler.establish_connection name, spec
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb line 128
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Base