summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorFrazer McLean <frazer@frazermclean.co.uk>2016-06-11 21:47:33 +0200
committerMike Bayer <mike_mp@zzzcomputing.com>2017-03-17 14:02:15 -0400
commitfadb8d61babb76ef7bdbc98279096a8900c7328d (patch)
tree2e6113d9c9ec665ed7785e4d7273b8830520e7af /test/sql
parent63a7b2d2d9402b06f9bc7745eed2d98ae9f8b11c (diff)
downloadsqlalchemy-fadb8d61babb76ef7bdbc98279096a8900c7328d.tar.gz
Implement comments for tables, columns
Added support for SQL comments on :class:`.Table` and :class:`.Column` objects, via the new :paramref:`.Table.comment` and :paramref:`.Column.comment` arguments. The comments are included as part of DDL on table creation, either inline or via an appropriate ALTER statement, and are also reflected back within table reflection, as well as via the :class:`.Inspector`. Supported backends currently include MySQL, Postgresql, and Oracle. Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com> Fixes: #1546 Change-Id: Ib90683850805a2b4ee198e420dc294f32f15d35d
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_ddlemit.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/test/sql/test_ddlemit.py b/test/sql/test_ddlemit.py
index e191beed3..25f9c595f 100644
--- a/test/sql/test_ddlemit.py
+++ b/test/sql/test_ddlemit.py
@@ -14,7 +14,9 @@ class EmitDDLTest(fixtures.TestBase):
return Mock(dialect=Mock(
supports_sequences=True,
has_table=Mock(side_effect=has_item),
- has_sequence=Mock(side_effect=has_item)
+ has_sequence=Mock(side_effect=has_item),
+ supports_comments=True,
+ inline_comments=False,
)
)
@@ -77,6 +79,26 @@ class EmitDDLTest(fixtures.TestBase):
return m, t1, t2, s1, s2
+ def _table_comment_fixture(self):
+ m = MetaData()
+
+ c1 = Column('id', Integer, comment='c1')
+
+ t1 = Table(
+ 't1', m, c1,
+ comment='t1'
+ )
+
+ return m, t1, c1
+
+ def test_comment(self):
+ m, t1, c1 = self._table_comment_fixture()
+
+ generator = self._mock_create_fixture(
+ False, [t1], item_exists=lambda t: t not in ("t1",))
+
+ self._assert_create_comment([t1, t1, c1], generator, m)
+
def test_create_seq_checkfirst(self):
m, t1, t2, s1, s2 = self._table_seq_fixture()
generator = self._mock_create_fixture(
@@ -249,6 +271,11 @@ class EmitDDLTest(fixtures.TestBase):
(schema.DropTable, schema.DropSequence, schema.DropConstraint),
elements, generator, argument)
+ def _assert_create_comment(self, elements, generator, argument):
+ self._assert_ddl(
+ (schema.CreateTable, schema.SetTableComment, schema.SetColumnComment),
+ elements, generator, argument)
+
def _assert_ddl(self, ddl_cls, elements, generator, argument):
generator.traverse_single(argument)
for call_ in generator.connection.execute.mock_calls: