From: Mike Bayer Date: Thu, 16 May 2013 18:41:13 +0000 (-0400) Subject: Added support for options like "name" etc. to be rendered X-Git-Tag: rel_0_6_0~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43ed40851917af735405d61fd7df9516d01d280a;p=thirdparty%2Fsqlalchemy%2Falembic.git Added support for options like "name" etc. to be rendered within CHECK constraints in autogenerate. Courtesy Sok Ann Yap. #125 --- diff --git a/alembic/autogenerate.py b/alembic/autogenerate.py index 600ce92d..f1af020d 100644 --- a/alembic/autogenerate.py +++ b/alembic/autogenerate.py @@ -709,8 +709,10 @@ def _render_check_constraint(constraint, autogen_context): opts = [] if constraint.name: opts.append(("name", repr(constraint.name))) - return "%(prefix)sCheckConstraint(%(sqltext)r)" % { + return "%(prefix)sCheckConstraint(%(sqltext)r%(opts)s)" % { "prefix": _sqlalchemy_autogenerate_prefix(autogen_context), + "opts": ", " + (", ".join("%s=%s" % (k, v) + for k, v in opts)) if opts else "", "sqltext": str( constraint.sqltext.compile( dialect=autogen_context['dialect'] diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index 2674fdd9..1b54325f 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -6,6 +6,14 @@ Changelog .. changelog:: :version: 0.6.0 + .. change:: + :tags: bug + :tickets: 125 + + Added support for options like "name" etc. to be rendered + within CHECK constraints in autogenerate. Courtesy + Sok Ann Yap. + .. change:: :tags: misc diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 4ee5f0fe..9bdc2dec 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -1111,10 +1111,10 @@ render:primary_key\n)""" def test_render_check_constraint_literal(self): eq_ignore_whitespace( autogenerate._render_check_constraint( - CheckConstraint("im a constraint"), + CheckConstraint("im a constraint", name='cc1'), self.autogen_context ), - "sa.CheckConstraint('im a constraint')" + "sa.CheckConstraint('im a constraint', name='cc1')" ) def test_render_check_constraint_sqlexpr(self):