diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-15 00:07:06 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-10-15 00:07:06 +0000 |
commit | 7e5e985c0e17a2d300f9aa8633c3610db600f2e2 (patch) | |
tree | 553780288c3fc75697d1558187c85f09a9cb42ed /lib/sqlalchemy/databases/sqlite.py | |
parent | 6b40f50b87a03172d77abf0e50f42b565f416645 (diff) | |
download | sqlalchemy-7e5e985c0e17a2d300f9aa8633c3610db600f2e2.tar.gz |
- ForeignKey(Constraint) supports "use_alter=True", to create/drop a foreign key
via ALTER. this allows circular foreign key relationships to be set up.
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 9 |
1 files changed, 9 insertions, 0 deletions
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) |