diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-09-24 04:05:07 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-09-24 04:05:07 +0000 |
| commit | 455bf5f9da2cfe62ce3ea9983f57faf9191b8350 (patch) | |
| tree | 1829a664022023d4316592b472509d5700eb11ee /lib/sqlalchemy | |
| parent | 674863f7f77c28e32e5e8a6e078939c4f7756684 (diff) | |
| download | sqlalchemy-455bf5f9da2cfe62ce3ea9983f57faf9191b8350.tar.gz | |
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/ansisql.py | 20 | ||||
| -rw-r--r-- | lib/sqlalchemy/schema.py | 5 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql.py | 14 |
3 files changed, 13 insertions, 26 deletions
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index fca984ba4..c73181afa 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -31,9 +31,6 @@ def engine(**params): class ANSISQLEngine(sqlalchemy.engine.SQLEngine): - def tableimpl(self, table): - return ANSISQLTableImpl(table) - def schemagenerator(self, proxy, **params): return ANSISchemaGenerator(proxy, **params) @@ -255,20 +252,11 @@ class ANSICompiler(sql.Compiled): return self.get_str(self.statement) - -class ANSISQLTableImpl(sql.TableImpl): - """Selectable implementation that gets attached to a schema.Table object.""" - - def __init__(self, table): - sql.TableImpl.__init__(self) - self.table = table - self.id = self.table.name - - def get_from_text(self): - return self.table.name - class ANSISchemaGenerator(sqlalchemy.engine.SchemaIterator): + def get_column_specification(self, column): + raise NotImplementedError() + def visit_table(self, table): self.append("\nCREATE TABLE " + table.name + "(") @@ -277,7 +265,7 @@ class ANSISchemaGenerator(sqlalchemy.engine.SchemaIterator): for column in table.columns: self.append(separator) separator = ", \n" - self.append("\t" + column.get_specification()) + self.append("\t" + self.get_column_specification(column)) self.append("\n)\n\n") self.execute() diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 59042eeb8..ce6dd8c63 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -216,8 +216,13 @@ class ForeignKey(SchemaItem): class Sequence(SchemaItem): """represents a sequence, which applies to Oracle and Postgres databases.""" + def __init__(self, name, start = None, increment = None): + self.name = name + self.start = start + self.increment = increment def _set_parent(self, column, key): self.column = column + self.column.sequence = self def accept_visitor(self, visitor): return visitor.visit_sequence(self) diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index aa247836c..12666d72a 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -597,17 +597,11 @@ class TableImpl(Selectable): def _get_from_objects(self): return [self.table] - def create(self, sqlproxy = None, **params): - if sqlproxy is None: - sqlproxy = self.table.engine.proxy() - - self.table.accept_visitor(self.table.engine.schemagenerator(sqlproxy, **params)) + def create(self, **params): + self.table.engine.create(self.table) - def drop(self, sqlproxy = None, **params): - if sqlproxy is None: - sqlproxy = self.table.engine.proxy() - - self.table.accept_visitor(self.table.engine.schemadropper(sqlproxy, **params)) + def drop(self, **params): + self.table.engine.drop(self.table) class Select(Selectable): |
