summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/sqlite.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-10-15 00:07:06 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-10-15 00:07:06 +0000
commit7e5e985c0e17a2d300f9aa8633c3610db600f2e2 (patch)
tree553780288c3fc75697d1558187c85f09a9cb42ed /lib/sqlalchemy/databases/sqlite.py
parent6b40f50b87a03172d77abf0e50f42b565f416645 (diff)
downloadsqlalchemy-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.py9
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)