]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fixed problem in Column.copy(), _make_proxy() with nullable and hidden not being...
authorRobert Leftwich <rtl@pobox.com>
Mon, 16 Jan 2006 06:22:52 +0000 (06:22 +0000)
committerRobert Leftwich <rtl@pobox.com>
Mon, 16 Jan 2006 06:22:52 +0000 (06:22 +0000)
lib/sqlalchemy/schema.py
test/alltests.py
test/engines.py

index 86613ade989769b29ed81b6fe86e51f21c2b7a6b..fbcc42ad51b05b4ec1c09b76805de83ee5611461 100644 (file)
@@ -288,7 +288,7 @@ class Column(SchemaItem):
             fk = None
         else:
             fk = self.foreign_key.copy()
-        return Column(self.name, self.type, fk, self.default, key = self.key, primary_key = self.primary_key)
+        return Column(self.name, self.type, fk, self.default, key = self.key, primary_key = self.primary_key, nullable=self.nullable, hidden=self.hidden)
         
     def _make_proxy(self, selectable, name = None):
         """creates a copy of this Column, initialized the way this Column is"""
@@ -296,7 +296,7 @@ class Column(SchemaItem):
             fk = None
         else:
             fk = self.foreign_key.copy()
-        c = Column(name or self.name, self.type, fk, self.default, key = name or self.key, primary_key = self.primary_key, hidden=self.hidden)
+        c = Column(name or self.name, self.type, fk, self.default, key = name or self.key, primary_key = self.primary_key, nullable=self.nullable, hidden=self.hidden)
         c.table = selectable
         c._orig = self.original
         if not c.hidden:
index db02f8a4c6be3279a8f009ca1edbc081847ae02c..1365b5153017c832b297d72e33ec0ebb55d30c84 100644 (file)
@@ -4,7 +4,7 @@ import unittest
 testbase.echo = False
 
 def suite():
-    modules_to_test = ('attributes', 'historyarray', 'pool', 'engines', 'query', 'columns', 'sequence', 'select', 'types', 'mapper', 'objectstore', 'manytomany', 'dependency')
+    modules_to_test = ('attributes', 'historyarray', 'pool', 'engines', 'query', 'sequence', 'select', 'types', 'mapper', 'objectstore', 'manytomany', 'dependency')
 #    modules_to_test = ('engines', 'mapper')
     alltests = unittest.TestSuite()
     for module in map(__import__, modules_to_test):
index b649b5a70c245268726a137f13dbe195bd042421..10aa380bac498b8b2a09c1ca0b9425a3ea1ed0e0 100644 (file)
@@ -97,6 +97,27 @@ class EngineTest(PersistTest):
         table.select().execute().fetchall()
         table.drop()
         
+    def testtoengine(self):
+        db = ansisql.engine()
+        
+        table = Table('mytable', db,
+            Column('myid', Integer, key = 'id'),
+            Column('name', String, key = 'name', nullable=False),
+            Column('description', String, key = 'description'),
+        )
+        
+        print repr(table)
+        
+        pgdb = postgres.engine({})
+        
+        pgtable = table.toengine(pgdb)
+        
+        print repr(pgtable)
+        assert pgtable.c.id.nullable 
+        assert not pgtable.c.name.nullable 
+        assert pgtable.c.description.nullable 
+        
+        
         
 if __name__ == "__main__":
     testbase.main()