[Checkins] SVN: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/ added support for database schemas

Andreas Jung andreas at andreas-jung.com
Sat Apr 21 00:36:07 EDT 2007


Log message for revision 74275:
  added support for database schemas
  

Changed:
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
  U   z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/model.py

-=-
Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt	2007-04-20 22:58:39 UTC (rev 74274)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/CHANGES.txt	2007-04-21 04:36:04 UTC (rev 74275)
@@ -11,6 +11,11 @@
 
    - registerSQLAlchemyWrapper() now defers the registration until
      the Wrapper is used first when calling getSQLAlchemyWrapper() 
+
+   - the 'name' parameter of Model.add() now supports schemas (if
+     available). E.g. when using Postgres you can reference as
+     table within a different schema through '<schema>.<tablename>'.
+
  
 0.1.6 (28.03.2007)
 

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py	2007-04-20 22:58:39 UTC (rev 74274)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/mapper.py	2007-04-21 04:36:04 UTC (rev 74275)
@@ -84,8 +84,18 @@
 
             # if not: introspect table definition
             if table is None:
-                table = Table(name, self._metadata, autoload=True)
 
+                # check for 'schema.tablename'
+                if '.' in name:
+                    schema, tablename = name.split('.')
+                else:
+                    tablename, schema = name, None
+
+                table = Table(tablename, 
+                              self._metadata, 
+                              schema=schema,
+                              autoload=True)
+
             # check if the model contains an optional mapper class
             mapper_class = None
             if self._model.has_key(name):            

Modified: z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/model.py
===================================================================
--- z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/model.py	2007-04-20 22:58:39 UTC (rev 74274)
+++ z3c.sqlalchemy/trunk/src/z3c/sqlalchemy/model.py	2007-04-21 04:36:04 UTC (rev 74275)
@@ -79,8 +79,6 @@
 
         for name in self.names:
             yield name, self[name]
-            
-
                         
 
 if __name__ == '__main__':



More information about the Checkins mailing list