summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-09-24 04:05:07 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-09-24 04:05:07 +0000
commit455bf5f9da2cfe62ce3ea9983f57faf9191b8350 (patch)
tree1829a664022023d4316592b472509d5700eb11ee /lib/sqlalchemy
parent674863f7f77c28e32e5e8a6e078939c4f7756684 (diff)
downloadsqlalchemy-455bf5f9da2cfe62ce3ea9983f57faf9191b8350.tar.gz
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/ansisql.py20
-rw-r--r--lib/sqlalchemy/schema.py5
-rw-r--r--lib/sqlalchemy/sql.py14
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):