]> 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:52:12 +0000 (20:52 +0200)
committerFederico Caselli <cfederico87@gmail.com>
Sat, 11 Apr 2020 18:52:12 +0000 (20:52 +0200)
Fixes #4138

Change-Id: Iad3604ce054aaac36fc93d623ae5058852875d97

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 f5b10c16eba52201a90edc157d55754daf886b85..83e3d1817776a389691e6ccea1c12427aada4313 100644 (file)
@@ -1440,6 +1440,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 9b199c734db260c69e327be9b864243127346390..64cdf830c85f7e92a5f3c5ed019c94a184b6f579 100644 (file)
@@ -33,6 +33,7 @@ from sqlalchemy import util
 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 elements
 from sqlalchemy.sql import naming
@@ -626,6 +627,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), "