Jonathan,

> One of the easiest examples comes about with data_objects.  It's (almost) 
> impossible not to use the highest version of data_objects installed on the 
> system.
>
> For code that shows this, seehttp://gist.github.com/62240

I was able to reproduce this problem locally, and have an updated gist
with some extra notes:

  http://gist.github.com/62345

> If you have any of the other 'core' adapters installed (postgres or mysql), 
> they get required with no version cap, and thus can't activate the version of 
> data_objects they want (the highest on the system).  So you actually have to 
> have installed, and add gem calls for, each one of do_mysql, do_postgres and 
> do_sqlite3.

This sounds related to the problem I just posted about, with how dm-
core "detects" which versions of DO are installed, and conditionally
requires them if available.  Since data_objects 0.9.10.1 is loaded,
and then dm-core would require do_mysql 0.9.11 (since it's the only
one available on the system), which has a data_objects on DO 0.9.11,
causing an explosion.

Backporting the fix from dm-core next to dm-core master would likely
solve this.  dm-core would only load a DO driver that you or your
framework explicitly did a DataMapper.setup() for.  You'd still have
to make sure that you didn't mix/match  data_objects with different
versions of do_mysql, do_sqlite3 or do_postgres; although this has
always been the case, so it's not really adding any additional burden
to developers.

--

Thanks,

Dan
(dkubb)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" group.
To post to this group, send email to datamapper@googlegroups.com
To unsubscribe from this group, send email to 
datamapper+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to