method
mysql_connection
v3.0.0 -
Show latest stable
- Class:
ActiveRecord::Base
mysql_connection(config)public
Establishes a connection to the database that’s used by all Active Record objects.
# File activerecord/lib/active_record/connection_adapters/mysql_adapter.rb, line 9
def self.mysql_connection(config) # :nodoc:
config = config.symbolize_keys
host = config[:host]
port = config[:port]
socket = config[:socket]
username = config[:username] ? config[:username].to_s : 'root'
password = config[:password].to_s
database = config[:database]
unless defined? Mysql
begin
require 'mysql'
rescue LoadError
raise "!!! Missing the mysql gem. Add it to your Gemfile: gem 'mysql', '2.8.1'"
end
unless defined?(Mysql::Result) && Mysql::Result.method_defined?(:each_hash)
raise "!!! Outdated mysql gem. Upgrade to 2.8.1 or later. In your Gemfile: gem 'mysql', '2.8.1'"
end
end
mysql = Mysql.init
mysql.ssl_set(config[:sslkey], config[:sslcert], config[:sslca], config[:sslcapath], config[:sslcipher]) if config[:sslca] || config[:sslkey]
default_flags = Mysql.const_defined?(:CLIENT_MULTI_RESULTS) ? Mysql::CLIENT_MULTI_RESULTS : 0
default_flags |= Mysql::CLIENT_FOUND_ROWS if Mysql.const_defined?(:CLIENT_FOUND_ROWS)
options = [host, username, password, database, port, socket, default_flags]
ConnectionAdapters::MysqlAdapter.new(mysql, logger, options, config)
end Related methods
- Instance methods
- ==
- []
- []=
- attribute_for_inspect
- attribute_names
- attribute_present?
- attributes
- attributes=
- cache_key
- column_for_attribute
- connection
- dup
- eql?
- freeze
- frozen?
- has_attribute?
- hash
- initialize_copy
- inspect
- quoted_id
- readonly!
- readonly?
- to_param
- Class methods
- ===
- abstract_class?
- arel_engine
- arel_table
- attr_readonly
- attribute_method?
- base_class
- colorize_logging
- column_methods_hash
- column_names
- columns
- columns_hash
- connected?
- connection
- connection_pool
- content_columns
- count_by_sql
- create
- descends_from_active_record?
- establish_connection
- find_by_sql
- finder_needs_type_condition?
- full_table_name_prefix
- i18n_scope
- inheritance_column
- inspect
- lookup_ancestors
- mysql_connection
- new
- postgresql_connection
- quote_value
- quoted_table_name
- readonly_attributes
- remove_connection
- reset_column_information
- reset_column_information_and_inheritable_attributes_for_all_subclasses
- reset_sequence_name
- reset_subclasses
- reset_table_name
- respond_to?
- retrieve_connection
- sanitize
- scoped_methods
- sequence_name
- serialize
- serialized_attributes
- set_inheritance_column
- set_sequence_name
- set_table_name
- sqlite3_connection
- sti_name
- subclasses
- table_exists?
- table_name
- unscoped
- Protected methods
-
aggregate_mapping -
class_of_active_record_descendant -
compute_type -
current_scoped_methods -
default_scope -
encode_quoted_value -
expand_hash_conditions_for_aggregates -
expand_range_bind_variables -
quote_bound_value -
raise_if_bind_arity_mismatch -
replace_bind_variables -
replace_named_bind_variables -
sanitize_sql_array -
sanitize_sql_for_assignment -
sanitize_sql_for_conditions -
sanitize_sql_hash_for_assignment -
sanitize_sql_hash_for_conditions -
with_exclusive_scope -
with_scope -
clone_attribute_value -
clone_attributes - Private methods
-
all_attributes_exists? -
attributes_protected_by_default -
compute_table_name -
construct_attributes_from_arguments -
construct_finder_arel -
expand_attribute_names_for_aggregates -
find_sti_class -
instantiate -
method_missing -
relation -
type_condition -
undecorated_table_name -
arel_attributes_values -
assign_multiparameter_attributes -
comma_pair_list -
convert_number_column_value -
ensure_proper_type -
execute_callstack_for_multiparameter_attributes -
extract_callstack_for_multiparameter_attributes -
find_parameter_position -
instantiate_time_object -
interpolate_sql -
object_from_yaml -
quote_columns -
quote_value -
quoted_comma_pair_list -
type_cast_attribute_value