0.12 2008-11-07
* WARNING: This release contains a few backwards
incompatibilities. See below for details.
* Removed Fey::Object::Table->_pk_vals().
- Added Fey::Object::Table->pk_values_hash() and ->pk_values_list().
* The parameters for constructing a Fey::Object::Iterator object have
been changed quite a bit. This fixes a problem where an iterator
could be iterating over a set of results that contained a column
which matched an attribute in two different classes, but was only
valid for one classes.
For example, if you had a Contact.note and ContactHistory.note
columns and your iterator was returning objects for both tables,
then _one_ of the note columns would get passed to the constructor
for _both_ tables.
With the changes, Fey::Object::Iterator figures out which item in
the returned row belongs to which class positionally, so if two
columns have the same name, they are passed to the correct classes.
You can also provide explicit mappings from an item in the result
rows to a class's attribute, which is handy if you want to map the
results of an arbitrary query to a set of classes. See the
Fey::Object::Iterator docs for more details.
- Fey::Object::Table->insert_many() Would modify the hash references
it received when a table had auto-incremented columns.
0.11 2008-09-20
- Fixes to work with Moose 0.58.
0.10 2008-09-07
- Moose 0.57 broke Fey::ORM somehow. Fixed for Moose 0.57.
0.09 2008-09-01
- Changes to work with the latest Moose and Fey.
0.08 2008-06-27
- Changes to the immutable bits to work with the latest Moose (0.51).
0.07 2008-06-22
- Cached has_one and has_many attributes now have a private clearer.
- Various internals changes so that the meta classes now have more
attributes, rather than creating lots of class attributes in the
classes which use Fey::ORM::{Table,Schema}.
- Added Fey::Meta::Attribute::FromSelect. This allows you to easily
define an attribute's default based on a SELECT query.
0.06 2008-05-25
- Factored part of Fey::ORM::Table->_get_column_values into a separate
method, _set_column_values_from_hashref, since this piece is
something that subclasses may want to reuse.
- Added a horrible hack to make Postgres BYTEA columns work. Needs
some serious refactoring. This may well disappear in a future
version.
- Fixed to work with the most recent versions of Moose, which are now
prereqs.
0.05 2008-04-18
- Fey::Object::Table called a method on Fey::Meta::Class::Table
without loading it, which could cause problems in some cases.
- Moved exceptions to Fey::ORM::Exceptions so you can use them in your
classes, notably the NoSuchRow exception.
- Made Fey::Object::Table and Fey::Object::Schema extend
MooseX::Object::StrictConstructor rather than Moose::Object.
0.04 2008-03-06
- Add a private writers for accessors created via has_one() and
has_many() - this still needs docs.
- Make sure that the schema class's RunInTransaction() method returns
values of the sub it runs, respecting the caller's context.
- has_one() can now accept a "handles" parameter which work just as
it does for any Moose attribute.
- has_one() also accepts a new "undef" parameter to allow you to
explicitly say that the attribute can have an undef as its value.
0.03 2008-02-24
- Fix tests so that they skip without blowing up when DBD::SQLite is
not installed.
- Fey::Object::Table would always issue a SELECT immediately after an
INSERT. Now this will be delayed until it is needed. In some cases
it will never be needed.
0.02 2008-02-21
- Renamed Fey::Object to Fey::Object::Table and added Fey::Object::Schema.
- Also created a Fey::Object::Schema->RunInTransaction()
- Fey::Object::Schema lets you control caching for all table classes
in a schema at once.
- Added support for arbitrary select statements being used with
has_one() and has_many(). See Fey::ORM::Manual::Intro for some
examples.
- Fixed various bits of code to work properly when multiple schema
classes exist.
0.01 2008-02-09
- First version, released on an unsuspecting world.