Class | ActiveRecord::ConnectionAdapters::MysqlAdapter
In: | lib/active_record/connection_adapters/mysql_adapter.rb
Parent: | AbstractAdapter

The MySQL adapter will work with both Ruby/MySQL, which is a Ruby-based MySQL adapter that comes bundled with Active Record, and with the faster C-based MySQL/Ruby adapter (available both as a gem and from www.tmtm.org/en/mysql/ruby/).

Options:

- `:host` - Defaults to "localhost".
- `:port` - Defaults to 3306.
- `:socket` - Defaults to "/tmp/mysql.sock".
- `:username` - Defaults to "root"
- `:password` - Defaults to nothing.
- `:database` - The name of the database. No default, must be provided.
- `:encoding` - (Optional) Sets the client encoding by executing "SET NAMES <encoding>" after connection.
- `:sslkey` - Necessary to use MySQL with an SSL connection.
- `:sslcert` - Necessary to use MySQL with an SSL connection.
- `:sslcapath` - Necessary to use MySQL with an SSL connection.
- `:sslcipher` - Necessary to use MySQL with an SSL connection.

By default, the MysqlAdapter will consider all columns of type `tinyint(1)` as boolean. If you wish to disable this emulation (which was the default behavior in versions 0.13.1 and earlier) you can add the following line to your environment.rb file:

      ActiveRecord::ConnectionAdapters::MysqlAdapter.emulate_booleans = false

### Methods

active? charset collation create_database current_database disconnect! drop_table new quote quoted_false quoted_true reconnect! rename_table select_rows show_variable type_to_sql

### Constants

LOST_CONNECTION_ERROR_MESSAGES | = | [ "Server shutdown in progress", "Broken pipe", "Lost connection to MySQL server during query", "MySQL server has gone away" ]
QUOTED_FALSE | = | '1', '0'

### Public Class methods

new(connection, logger, connection_options, config)

### Public Instance methods

active?()

CONNECTION MANAGEMENT ====================================

charset()

Returns the database character set.

collation()

Returns the database collation strategy.

create_database(name, options = {})

Create a new MySQL database with optional `:charset` and `:collation`. Charset defaults to utf8.

Example:

      create_database 'charset_test', :charset => 'latin1', :collation => 'latin1_bin'
      create_database 'matt_development'
      create_database 'matt_development', :charset => :big5

current_database()
disconnect!()
drop_table(table_name, options = {})
quote(value, column = nil)

QUOTING ==================================================

quoted_false()
quoted_true()
reconnect!()
rename_table(table_name, new_name)
select_rows(sql, name = nil)

DATABASE STATEMENTS ======================================

show_variable(name)

SHOW VARIABLES LIKE ‘name‘

type_to_sql(type, limit = nil, precision = nil, scale = nil)

Maps logical Rails types to MySQL-specific data types.

[Validate]