From 7e5e985c0e17a2d300f9aa8633c3610db600f2e2 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 15 Oct 2006 00:07:06 +0000 Subject: - ForeignKey(Constraint) supports "use_alter=True", to create/drop a foreign key via ALTER. this allows circular foreign key relationships to be set up. --- lib/sqlalchemy/databases/sqlite.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/sqlalchemy/databases/sqlite.py') diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 90cd66dd3..a4445b1a8 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -147,6 +147,8 @@ class SQLiteDialect(ansisql.ANSIDialect): return SQLiteCompiler(self, statement, bindparams, **kwargs) def schemagenerator(self, *args, **kwargs): return SQLiteSchemaGenerator(*args, **kwargs) + def schemadropper(self, *args, **kwargs): + return SQLiteSchemaDropper(*args, **kwargs) def preparer(self): return SQLiteIdentifierPreparer(self) def create_connect_args(self, url): @@ -283,6 +285,9 @@ class SQLiteCompiler(ansisql.ANSICompiler): return ansisql.ANSICompiler.binary_operator_string(self, binary) class SQLiteSchemaGenerator(ansisql.ANSISchemaGenerator): + def supports_alter(self): + return False + def get_column_specification(self, column, **kwargs): colspec = self.preparer.format_column(column) + " " + column.type.engine_impl(self.engine).get_col_spec() default = self.get_column_default_string(column) @@ -303,6 +308,10 @@ class SQLiteSchemaGenerator(ansisql.ANSISchemaGenerator): # else: # super(SQLiteSchemaGenerator, self).visit_primary_key_constraint(constraint) +class SQLiteSchemaDropper(ansisql.ANSISchemaDropper): + def supports_alter(self): + return False + class SQLiteIdentifierPreparer(ansisql.ANSIIdentifierPreparer): def __init__(self, dialect): super(SQLiteIdentifierPreparer, self).__init__(dialect, omit_schema=True) -- cgit v1.2.1