summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/ansisql.py4
-rw-r--r--lib/sqlalchemy/schema.py7
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py
index 6cb57e148..647140791 100644
--- a/lib/sqlalchemy/ansisql.py
+++ b/lib/sqlalchemy/ansisql.py
@@ -742,6 +742,10 @@ class ANSISchemaGenerator(ANSISchemaBase):
if constraint.name is not None:
self.append("CONSTRAINT %s " % constraint.name)
self.append(" CHECK (%s)" % constraint.sqltext)
+
+ def visit_column_check_constraint(self, constraint):
+ self.append(" ")
+ self.append(" CHECK (%s)" % constraint.sqltext)
def visit_primary_key_constraint(self, constraint):
if len(constraint) == 0:
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index 323d30da5..d0863800b 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -705,7 +705,10 @@ class CheckConstraint(Constraint):
super(CheckConstraint, self).__init__(name)
self.sqltext = sqltext
def accept_schema_visitor(self, visitor, traverse=True):
- visitor.visit_check_constraint(self)
+ if isinstance(self.parent, Table):
+ visitor.visit_check_constraint(self)
+ else:
+ visitor.visit_column_check_constraint(self)
def _set_parent(self, parent):
self.parent = parent
parent.constraints.add(self)
@@ -993,6 +996,8 @@ class SchemaVisitor(sql.ClauseVisitor):
pass
def visit_check_constraint(self, constraint):
pass
+ def visit_column_check_constraint(self, constraint):
+ pass
default_metadata = DynamicMetaData('default')