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, CUBRID,
DataObjects, DB2, DBI, Firebird, IBM_DB, Informix, JDBC, MySQL,
Mysql2, ODBC, OpenBase, Oracle, PostgreSQL, SQLite3, Swift, and
Sequel 4.3.0 has been released!
= New Features
The tree and rcte_tree plugins now support composite keys.
An error_sql Database extension has been added. This extension
adds the DatabaseError#sql method, which should return the
database query that caused the error. This is useful for
drivers that don’t include the SQL used as part of the error
= Other Improvements
Empty blobs are now literalized correctly on MySQL.
Empty arrays are now literalized correctly on PostgreSQL <8.4.
In the pagination extension, Dataset#page_count is now 1 even if
the dataset is empty. This fixes issues with last_page? and
page_range returning bad values for empty datasets.
In the pagination extension, calling Dataset#each_page without a
block now returns an Enumerator.
Dataset#qualify and Sequel.delay now work together, qualifying
the object returned by the delayed evaluation.
Migrator.migrator_class is now a public method.
The PostgreSQL citext type is now recognized as a string.
Another disconnect error is now recognized in the jdbc/as400
Guides about using and creating Sequel extensions and model
plugins have been added.
= Backwards Compatibility
- If you were expecting Dataset#page_count on a empty paginated
dataset to return 0, you need to update your code.