* Fix Dataset#eager_graph when not all objects have associated objects.
This changes how eager_graph handles missing records in associated
tables (which occur because graph defaults to LEFT OUTER joins by
design).
* No longer depend on the assistance gem, merge the Inflector and
Validations code
* Make the validation errors API compatible with Merb
* Add validates_uniqueness_of, for protecting against duplicate entries
in the database
* Use reciprocal associations for all types of associations in the
getter/setter/add_/remove_ methods
* Fix many_to_one associations to cache negative lookups
* Add eager loading of associations via new sequel_core object graphing
* Fix many_to_many associations with classes inside modules without an
explicit join table
* Add the eager! and eager_graph! mutation methods to model datasets
* Add Model.def_dataset_method, for defining methods on the model that
reference methods on the dataset
* Change Model#=== to always be false if the primary key is nil
* Add Model#hash, which should be unique for a given class and primary
key (or values if primary key is nil)
* Make Model#reload clear any cached associations
* Fix Model#destroy so that it returns self, not the result of after_destroy
* Make Model#initialize, Model#set, and Model#update_with_params
invulnerable to memory exhaustion
* Add Model.str_columns, which gives a list of columns as frozen strings
+ Add patch-aa and patch-ab which are changes pulled from upstream to
allow the creation of new records that don't have a primary key when
the cache is on.
* Merge ``sequel_model'' into ``sequel''.
* Eager loading for all types of associations.
* One-to-many associations now populate the corresponding many-to-one
instance variable (even when eagerly loaded).
* ActiveRecord style has_many :through associations are now supported
via many_to_many. many_to_many will no longer select the entire result
set, just the columns of the associated table (and not the join table),
so it works for both has_and_belongs_to_many (simple join table) and
has_many :through (join table model) scenarios.
Sequel is a database access toolkit for Ruby. Sequel provides thread
safety, connection pooling, and a concise DSL for constructing queries
and table schemas.
Sequel makes it easy to deal with multiple records without having to
break your teeth on SQL.