diff options
| author | Malik Diarra <malik.diarra@gmail.com> | 2014-08-13 01:39:09 +0200 |
|---|---|---|
| committer | Malik Diarra <malik.diarra@gmail.com> | 2014-08-17 01:56:02 +0200 |
| commit | ef6042ff461e490c2a3040f18f0a3688b2e601a0 (patch) | |
| tree | 679d9cb74b7d391cbf85fdb6ee60ac5a65b674a4 | |
| parent | b577afcb2bdcd94581606bc911968d8885509769 (diff) | |
| download | sqlalchemy-ef6042ff461e490c2a3040f18f0a3688b2e601a0.tar.gz | |
Adding a tablespace options for postgresql create table
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 10 | ||||
| -rw-r--r-- | test/dialect/postgresql/test_compiler.py | 6 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index c2b1d66f4..0f008642e 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -1448,6 +1448,13 @@ class PGDDLCompiler(compiler.DDLCompiler): text += self.define_constraint_deferrability(constraint) return text + def post_create_table(self, table): + table_opts = [] + if table.dialect_options['postgresql']['tablespace']: + table_opts.append('TABLESPACE %s' % table.dialect_options['postgresql']['tablespace']) + + return ' '.join(table_opts) + class PGTypeCompiler(compiler.GenericTypeCompiler): @@ -1707,7 +1714,8 @@ class PGDialect(default.DefaultDialect): "ops": {} }), (schema.Table, { - "ignore_search_path": False + "ignore_search_path": False, + "tablespace": None }) ] diff --git a/test/dialect/postgresql/test_compiler.py b/test/dialect/postgresql/test_compiler.py index b08fb0160..301f80fd4 100644 --- a/test/dialect/postgresql/test_compiler.py +++ b/test/dialect/postgresql/test_compiler.py @@ -166,6 +166,12 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): "VARCHAR(1), CHECK (somecolumn IN ('x', " "'y', 'z')))") + def test_create_table_with_tablespace(self): + m = MetaData() + tbl = Table('atable', m, Column("id", Integer), postgresql_tablespace = 'sometablespace') + self.assert_compile(schema.CreateTable(tbl), + "CREATE TABLE atable (id INTEGER)TABLESPACE sometablespace") + def test_create_partial_index(self): m = MetaData() tbl = Table('testtbl', m, Column('data', Integer)) |
