Here is a really awesome talk about SALQ's Core/ORM dichotomy, featuring 
diagrams that overview the architecture of the ORM, and how it implements 
the Unit-of-Work pattern:

http://lanyrd.com/2011/pygotham/shpkm/#link-fkfb

If you take into account what's said in this talk - that basically the ORM 
and the CORE in SQLA are 2 separate beasts - than if follows what I've been 
saying here, that the web2py-DAL is equivalent just to the CORE, and has no 
features that the ORM provides whatsoever.
That leves you with 20K lines of code that are not represented at all 
inside the 10K lines of code of web2py's DAL. I think this would be a solid 
assertion.

That means that it would be a substantial undertaking to replicate the 
SQLA-ORM over web2py.

But it also means something else - that saying that it's benefits are 
questionable, is akin to saying that a 20k lines-of-code of the coolest ORM 
in existence, is a useless-piece of software...
Useless in the sense that it takes a lot and gives very little (if at all)
Somehow I doubt that assertion...

Lastly, what this *may* all mean, is that SQLA-ORM may be re-tooled to be 
layered on-top of web2py's DAL instead of it's CORE.
This should be especially easier using what he called in the talk the 
"classical mapping" pattern, in which your domain-model classes and your 
CORE/DAL objects are built-up completely separately, and a 3'rd separate 
"mapper" objects takes care of "instrumenting" your domain-classes with the 
CORE/DAL objects to essentially build-up and form the ORM out of mearging 
the two via what he called "formal-monkey-patching" (which I assume he 
means some sort of dependency-injection).

Given all that, all you would need to do is sub-class the "mapper" 
and redactor it to instrument domain-classes using web2py's DAL instead.
This may be a substantially-less of an undertaking, and would basically 
achieve the same thing. Since these are both open-source projects, both 
written in pure-python, it should be at the very-least "possible" to do 
something like that.

I had seen past-experiments of doing the opposite - mapping the DAL to 
layer on-top of SQLA models - but nowhere was it suggested to do it the 
other way around with SALQ's ORM... I thing it is even a more logical rout 
to take, as you don't need SQLA's CORE, we already have a full equivalent 
for that...

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to