From: Federico Caselli Date: Sat, 11 Apr 2020 18:52:12 +0000 (+0200) Subject: Add ``comment`` attribute to :class:`.Column` ``__repr__`` method. X-Git-Tag: rel_1_3_17~36^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c01fa5fc24ee076097a1f7a755bd3628ff252379;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Add ``comment`` attribute to :class:`.Column` ``__repr__`` method. Fixes #4138 Change-Id: Iad3604ce054aaac36fc93d623ae5058852875d97 --- 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 f5b10c16eb..83e3d18177 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -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)] diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index 9b199c734d..64cdf830c8 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -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), "