summaryrefslogtreecommitdiff
path: root/migrate/changeset/databases/sqlite.py
diff options
context:
space:
mode:
Diffstat (limited to 'migrate/changeset/databases/sqlite.py')
-rw-r--r--migrate/changeset/databases/sqlite.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/migrate/changeset/databases/sqlite.py b/migrate/changeset/databases/sqlite.py
index e1a3bee..3748659 100644
--- a/migrate/changeset/databases/sqlite.py
+++ b/migrate/changeset/databases/sqlite.py
@@ -77,6 +77,17 @@ class SQLiteConstraintGenerator(ansisql.ANSIConstraintGenerator):
self.execute()
+class SQLiteFKGenerator(SQLiteSchemaChanger, ansisql.ANSIFKGenerator):
+ def visit_column(self, column):
+ """Create foreign keys for a column (table already exists); #32"""
+
+ if self.fk:
+ self._not_supported("ALTER TABLE ADD FOREIGN KEY")
+
+ if self.buffer.getvalue() !='':
+ self.execute()
+
+
class SQLiteConstraintDropper(ansisql.ANSIColumnDropper):
def visit_migrate_primary_key_constraint(self, constraint):
@@ -93,3 +104,4 @@ class SQLiteDialect(ansisql.ANSIDialect):
schemachanger = SQLiteSchemaChanger
constraintgenerator = SQLiteConstraintGenerator
constraintdropper = SQLiteConstraintDropper
+ columnfkgenerator = SQLiteFKGenerator