From: Federico Caselli Date: Sat, 11 Apr 2020 18:50:37 +0000 (+0200) Subject: Add ``comment`` attribute to :class:`.Column` ``__repr__`` method. X-Git-Tag: rel_1_4_0b1~398^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35b74d8a33aedaa29af1be2d6bac8bc23fa7c412;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add ``comment`` attribute to :class:`.Column` ``__repr__`` method. Fixes #4138 Change-Id: Ia93f7d7b1d2f38509421725fbe152a2ff163d5f3 --- diff --git a/doc/build/changelog/unreleased_13/4138.rst b/doc/build/changelog/unreleased_13/4138.rst new file mode 100644 index 0000000000..fd8f0eb903 --- /dev/null +++ b/doc/build/changelog/unreleased_13/4138.rst @@ -0,0 +1,5 @@ +.. change:: + :tags: schema + :tickets: 4138 + + Add ``comment`` attribute to :class:`.Column` ``__repr__`` method. diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index d65821c5cd..ac3fb96076 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -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)] diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index afe5bdb593..fac369bb4b 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -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), "