I was going to be a little low key for a couple of days, but as
Jonathan has posted a huge plug tonight right at the top of
planetpython, i figured i should put the word out. The first release
of 0.2 is out, and along with that the excellent new SA site designed
by Todd Grimason.
as far as changes, those following the list should
know.....everything! well not really....heres what the changelog has
to say:
0.2.0
- overhaul to Engine system so that what was formerly the SQLEngine
is now a ComposedSQLEngine which consists of a variety of components,
including a Dialect, ConnectionProvider, etc. This impacted all the
db modules as well as Session and Mapper.
- create_engine now takes only RFC-1738-style strings:
driver://user:[EMAIL PROTECTED]:port/database
- total rewrite of connection-scoping methodology, Connection objects
can now execute clause elements directly, added explicit "close" as
well as support throughout Engine/ORM to handle closing properly,
no longer relying upon __del__ internally to return connections
to the pool [ticket:152].
- overhaul to Session interface and scoping. uses hibernate-style
methods, including query(class), save(), save_or_update(), etc.
no threadlocal scope is installed by default. Provides a binding
interface to specific Engines and/or Connections so that underlying
Schema objects do not need to be bound to an Engine. Added a basic
SessionTransaction object that can simplistically aggregate transactions
across multiple engines.
- overhaul to mapper's dependency and "cascade" behavior; dependency
logic
factored out of properties.py into a separate module "dependency.py".
"cascade" behavior is now explicitly controllable, proper implementation
of "delete", "delete-orphan", etc. dependency system can now
determine at
flush time if a child object has a parent or not so that it makes better
decisions on how that child should be updated in the DB with regards
to deletes.
- overhaul to Schema to build upon MetaData object instead of an Engine.
Entire SQL/Schema system can be used with no Engines whatsoever,
executed
solely by an explicit Connection object. the "bound" methodlogy
exists via the
BoundMetaData for schema objects. ProxyEngine is generally not needed
anymore and is replaced by DynamicMetaData.
- true polymorphic behavior implemented, fixes [ticket:167]
- "oid" system has been totally moved into compile-time behavior;
if they are used in an order_by where they are not available, the
order_by
doesnt get compiled, fixes [ticket:147]
- overhaul to packaging; "mapping" is now "orm", "objectstore" is now
"session", the old "objectstore" namespace gets loaded in via the
"threadlocal" mod if used
- mods now called in via "import <modname>". extensions favored over
mods as mods are globally-monkeypatching
- fix to add_property so that it propigates properties to inheriting
mappers [ticket:154]
- backrefs create themselves against primary mapper of its originating
property, priamry/secondary join arguments can be specified to override.
helps their usage with polymorphic mappers
- "table exists" function has been implemented [ticket:31]
- "create_all/drop_all" added to MetaData object [ticket:98]
- improvements and fixes to topological sort algorithm, as well as more
unit tests
- tutorial page added to docs which also can be run with a custom
doctest
runner to insure its properly working. docs generally overhauled to
deal with new code patterns
- many more fixes, refactorings.
- migration guide is available on the Wiki at
http://www.sqlalchemy.org/trac/wiki/02Migration
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users