Sequel is a lightweight database access toolkit for Ruby.
- Sequel provides thread safety, connection pooling and a concise
DSL for constructing SQL queries and table schemas.
- Sequel includes a comprehensive ORM layer for mapping records to
Ruby objects and handling associated records.
- Sequel supports advanced database features such as prepared
statements, bound variables, stored procedures, savepoints,
two-phase commit, transaction isolation, master/slave
configurations, and database sharding.
- Sequel currently has adapters for ADO, Amalgalite, DataObjects,
DB2, DBI, Firebird, Informix, JDBC, MySQL, Mysql2, ODBC, OpenBase,
Oracle, PostgreSQL, SQLite3, Swift, and TinyTDS.
Sequel 3.22.0 has been released and should be available on the gem
= New Features
Support COLLATE in column definitions. At least MySQL and Microsoft
SQL Server support them, and PostgreSQL 9.1 should as well.
When connecting to Microsoft SQL Server, you can use the
mssql_unicode_strings accessor to turn of the default usage
of unicode strings (N’’) and use regular strings (’’). This
can improve performance, but changes the behavior. It’s
set to true by default for backwards compatibility. You can
change it at both the dataset and database level:
DB.mssql_unicode_strings = false # default for datasets
dataset.mssql_unicode_strings = false # just this dataset
In the oracle adapter, if Sequel.application_timezone is :utc, set
the timezone for the connection to use the 00:00 timezone.
= Other Improvements
In the single_table_inheritance plugin, correctly handle a
multi-level class hierarchy so that loading instances from a
middle level of the hierarchy can return instances of subclasses.
Don’t use a schema when creating a temporary table, even if
default_schema is set.
Fix the migrator when a default_schema is used.
In the ado adapter, assume a connection to SQL Server if the
:conn_string is given and doesn’t indicate Access/Jet.
Fix fetching rows in the tinytds adapter when the
identifier_output_method is nil.
The tinytds adapter now checks for disconnect errors, but it might
not be reliable until the next release of tiny_tds.
The odbc adapter now handles ODBC::Time instances correctly.