summaryrefslogtreecommitdiff
path: root/migrate/changeset/ansisql.py
diff options
context:
space:
mode:
authorjan.dittberner <unknown>2009-01-10 13:11:08 +0000
committerjan.dittberner <unknown>2009-01-10 13:11:08 +0000
commit979b8b19dc0888e6f99191cf3ed88a1f87f598df (patch)
tree3b816d2e9dd108eb0ab06ad485b5a6561aedbb89 /migrate/changeset/ansisql.py
parentf1039d3f858167d0ee72fa8a6a1b5dcc31088b38 (diff)
downloadsqlalchemy-migrate-979b8b19dc0888e6f99191cf3ed88a1f87f598df.tar.gz
integrate patch for supporting CheckConstraints by srittau.
Fixes Issue #31 needs a test case
Diffstat (limited to 'migrate/changeset/ansisql.py')
-rw-r--r--migrate/changeset/ansisql.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/migrate/changeset/ansisql.py b/migrate/changeset/ansisql.py
index d711d5a..e188100 100644
--- a/migrate/changeset/ansisql.py
+++ b/migrate/changeset/ansisql.py
@@ -250,6 +250,8 @@ class ANSIConstraintGenerator(ANSIConstraintCommon):
)
ret = "CONSTRAINT %(name)s FOREIGN KEY (%(columns)s) "\
"REFERENCES %(reftable)s (%(referenced)s)"%params
+ elif isinstance(cons,constraint.CheckConstraint):
+ ret = "CHECK (%s)"%cons.sqltext
else:
raise exceptions.InvalidConstraintError(cons)
return ret
@@ -266,6 +268,9 @@ class ANSIConstraintGenerator(ANSIConstraintCommon):
def visit_migrate_foreign_key_constraint(self,*p,**k):
return self._visit_constraint(*p,**k)
+ def visit_migrate_check_constraint(self,*p,**k):
+ return self._visit_constraint(*p,**k)
+
class ANSIConstraintDropper(ANSIConstraintCommon):
def _visit_constraint(self,constraint):
self.start_alter_table(constraint)
@@ -279,6 +284,9 @@ class ANSIConstraintDropper(ANSIConstraintCommon):
def visit_migrate_foreign_key_constraint(self,*p,**k):
return self._visit_constraint(*p,**k)
+ def visit_migrate_check_constraint(self,*p,**k):
+ return self._visit_constraint(*p,**k)
+
class ANSIDialect(object):
columngenerator = ANSIColumnGenerator
columndropper = ANSIColumnDropper