summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/schema.py4
-rw-r--r--test/alltests.py2
-rw-r--r--test/engines.py21
3 files changed, 24 insertions, 3 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index 86613ade9..fbcc42ad5 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -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:
diff --git a/test/alltests.py b/test/alltests.py
index db02f8a4c..1365b5153 100644
--- a/test/alltests.py
+++ b/test/alltests.py
@@ -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):
diff --git a/test/engines.py b/test/engines.py
index b649b5a70..10aa380ba 100644
--- a/test/engines.py
+++ b/test/engines.py
@@ -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()