summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alembic/ddl/mssql.py8
-rw-r--r--tests/test_mssql.py5
2 files changed, 12 insertions, 1 deletions
diff --git a/alembic/ddl/mssql.py b/alembic/ddl/mssql.py
index fece08b..a3c67d6 100644
--- a/alembic/ddl/mssql.py
+++ b/alembic/ddl/mssql.py
@@ -2,7 +2,7 @@ from sqlalchemy.ext.compiler import compiles
from .. import util
from .impl import DefaultImpl
-from .base import alter_table, AddColumn, ColumnName, \
+from .base import alter_table, AddColumn, ColumnName, RenameTable,\
format_table_name, format_column_name, ColumnNullable, alter_column,\
format_server_default,ColumnDefault, format_type, ColumnType
from sqlalchemy.sql.expression import ClauseElement, Executable
@@ -215,3 +215,9 @@ def visit_column_type(element, compiler, **kw):
format_type(compiler, element.type_)
)
+@compiles(RenameTable, 'mssql')
+def visit_rename_table(element, compiler, **kw):
+ return "EXEC sp_rename '%s', %s" % (
+ format_table_name(compiler, element.table_name, element.schema),
+ format_table_name(compiler, element.new_table_name, element.schema)
+ )
diff --git a/tests/test_mssql.py b/tests/test_mssql.py
index 5fa6c4b..a18abfe 100644
--- a/tests/test_mssql.py
+++ b/tests/test_mssql.py
@@ -193,6 +193,11 @@ class OpTest(TestCase):
"EXEC sp_rename 't.c', c2, 'COLUMN'"
)
+ def test_rename_table(self):
+ context = op_fixture('mssql')
+ op.rename_table('t1', 't2')
+ context.assert_containt("EXEC sp_rename '[t1]', [t2]")
+
# TODO: when we add schema support
#def test_alter_column_rename_mssql_schema(self):
# context = op_fixture('mssql')