diff options
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/schema.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index e1e5e079c..fff93df72 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -176,6 +176,10 @@ class Table(SchemaItem, expression.TableClause): been defined elsewhere in the application, else an exception is raised. + prefixes + A list of strings to insert after CREATE in the CREATE TABLE + statement. They will be separated by spaces. + useexisting Defaults to False: indicates that if this Table was already defined elsewhere in the application, disregard the rest of the @@ -224,6 +228,8 @@ class Table(SchemaItem, expression.TableClause): if kwargs.get('info'): self._info = kwargs.pop('info') + self._prefixes = kwargs.pop('prefixes', []) + self.__extra_kwargs(**kwargs) # load column definitions from the database if 'autoload' is defined diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index c8324d753..51ad1dfb0 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -788,7 +788,7 @@ class SchemaGenerator(DDLBase): if column.default is not None: self.traverse_single(column.default) - self.append("\nCREATE TABLE " + self.preparer.format_table(table) + " (") + self.append("\nCREATE " + " ".join(table._prefixes) + " TABLE " + self.preparer.format_table(table) + " (") separator = "\n" |
