With 0.4 almost upon us, we're coming down to the wire for big changes getting in- and some things are kind of "now or never".
I've found myself explaining engines and metadata with some particular language lately, and I wondered, what would it look like to just put that terminology in the names themselves? This is the last opportunity for terminology changes for a while, so I offer this up for discussion. So here's what I was thinking: datasource = create_datasource('posgresql:///test') connection = datasource.connect() catalog = Catalog() Table('foo', catalog, autoload=True) catalog.bind = datasource catalog.bind = 'sqlite:///' Engines would be DataSources, and MetaData would be Catalogs. I like the datasource name over engine because, from a user perspective, engines don't "go"- there's no moving parts. Most of the time in application code I think about these engines as URIs anyhow: Where is this pointing? What database is that bound to? Which DB is that coming from? The fact that it has a dialect, pool, etc., is just a given and unimportant to me on the line. I just think about what I'm connecting to or have connected. This is my mental translation: # see engine.connect() # think 'mysql:///geocoding'.connnect() ...and I think a name change would help smooth out questions like 'how do I organize my engine/engines in my code'. It feels natural to me as well coming from other orms and pooling libraries. I've been describing the metadata as a catalog for a bit now- "a catalog of tables available in the database." There's something about the name MetaData which, to me, is simultaneously vague and final. Like it's very important, I don't really know what it does, and I should probably only have one. In reality of course they're quite disposable and flexible. So there you have it. I'm not married to this proposal by *any* means. The ideas gelled in my brain during the SQLAlchemy tutorial at OSCON, and this seems like the last opportunity to deeply question and reconsider what we have before a new generation of users takes on SQLAlchemy. -j --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---