]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Add ``comment`` attribute to :class:`.Column` ``__repr__`` method.
authorFederico Caselli <cfederico87@gmail.com>
Sat, 11 Apr 2020 18:50:37 +0000 (20:50 +0200)
committerFederico Caselli <cfederico87@gmail.com>
Sat, 11 Apr 2020 18:50:37 +0000 (20:50 +0200)
Fixes #4138

Change-Id: Ia93f7d7b1d2f38509421725fbe152a2ff163d5f3

doc/build/changelog/unreleased_13/4138.rst [new file with mode: 0644]
lib/sqlalchemy/sql/schema.py
test/sql/test_metadata.py

diff --git a/doc/build/changelog/unreleased_13/4138.rst b/doc/build/changelog/unreleased_13/4138.rst
new file mode 100644 (file)
index 0000000..fd8f0eb
--- /dev/null
@@ -0,0 +1,5 @@
+.. change::
+    :tags: schema
+    :tickets: 4138
+
+    Add ``comment`` attribute to :class:`.Column` ``__repr__`` method.
index d65821c5cda26f9bd0feb0b396507e93e86950e5..ac3fb96076a7883fbe4c94e22da3c2d19c805e01 100644 (file)
@@ -1382,6 +1382,8 @@ class Column(DialectKWArgs, SchemaItem, ColumnClause):
             kwarg.append("default")
         if self.server_default:
             kwarg.append("server_default")
+        if self.comment:
+            kwarg.append("comment")
         return "Column(%s)" % ", ".join(
             [repr(self.name)]
             + [repr(self.type)]
index afe5bdb593ac60921a2d2f6d7181731f58fd35f5..fac369bb4b3e862e1c46364fd9e6a88dbb0f3e01 100644 (file)
@@ -32,6 +32,7 @@ from sqlalchemy import UniqueConstraint
 from sqlalchemy.engine import default
 from sqlalchemy.schema import AddConstraint
 from sqlalchemy.schema import CreateIndex
+from sqlalchemy.schema import DefaultClause
 from sqlalchemy.schema import DropIndex
 from sqlalchemy.sql import naming
 from sqlalchemy.sql import operators
@@ -627,6 +628,22 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
             (Sequence("my_seq"), "Sequence('my_seq')"),
             (Sequence("my_seq", start=5), "Sequence('my_seq', start=5)"),
             (Column("foo", Integer), "Column('foo', Integer(), table=None)"),
+            (
+                Column(
+                    "foo",
+                    Integer,
+                    primary_key=True,
+                    nullable=False,
+                    onupdate=1,
+                    default=42,
+                    server_default="42",
+                    comment="foo",
+                ),
+                "Column('foo', Integer(), table=None, primary_key=True, "
+                "nullable=False, onupdate=%s, default=%s, server_default=%s, "
+                "comment='foo')"
+                % (ColumnDefault(1), ColumnDefault(42), DefaultClause("42"),),
+            ),
             (
                 Table("bar", MetaData(), Column("x", String)),
                 "Table('bar', MetaData(bind=None), "