diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/ansisql.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/schema.py | 7 |
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') |
