I am investigating the use of the declarative extension.  It looks
very attractive, but I have a problem...

I have a large project that is using the standard methods of
configuring tables and mappers.  More specifically, there is a single
method in my domain package that is called once the system has been
started up and this method creates all tables and configures the
mappers.

So, the order of initialization in my system looks something like this:

- main imports core classes
- main loads configuration files
- main imports all plugin modules and associated packages
- process the configuration
   - initialize databases and domain mapping
      - connect to databases and create engines and metadata
      - call mapper method to setup tables and mappers
   - process remaining configuration...
- Initialize all plugins and start the system running...


The problem that as I understand it, to use declarative, you can't
import an module that defines a table-based object until after some
initialization code has been run to connect to a database and create a
'Base' class for the declarative layer.  In my case this is pretty
problematic because the DB entity modules are most likely imported
before the system has connected to a database.

Does anyone have a suggestion about how to handle this?  For example
is there a way to create a lazy base class that doesn't actually do
anything until it has been connected to a database?  Am I missing
something fundamental here?

-Allen

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to