From: Mike Bayer Date: Sat, 23 Jun 2012 16:24:33 +0000 (-0400) Subject: - apply repr() to server default string, #31 X-Git-Tag: rel_0_3_5~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa2d266de0c9ff8616f9a332e0aa5fa545a57b15;p=thirdparty%2Fsqlalchemy%2Falembic.git - apply repr() to server default string, #31 --- diff --git a/CHANGES b/CHANGES index 5d6e7c22..421ffc72 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,9 @@ +0.3.5 +===== +- [bug] Fixed issue whereby reflected server defaults + wouldn't be quoted correctly; uses repr() now. + #31 + 0.3.4 ===== - [bug] Fixed command-line bug introduced by the diff --git a/alembic/__init__.py b/alembic/__init__.py index 81898ff5..e761d540 100644 --- a/alembic/__init__.py +++ b/alembic/__init__.py @@ -1,6 +1,6 @@ from os import path -__version__ = '0.3.4' +__version__ = '0.3.5' package_dir = path.abspath(path.dirname(__file__)) diff --git a/alembic/autogenerate.py b/alembic/autogenerate.py index 1b036043..2b6f2d86 100644 --- a/alembic/autogenerate.py +++ b/alembic/autogenerate.py @@ -497,7 +497,7 @@ def _render_server_default(default, autogen_context): # tests to pass until we figure out # WTF sqlite is doing default = re.sub(r"^'|'$", "", default) - return "'%s'" % default + return repr(default) else: return None diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 5d4a06f0..1b9e8fc1 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -418,6 +418,14 @@ class AutogenRenderTest(TestCase): "op.drop_column('foo', 'x')" ) + def test_render_quoted_server_default(self): + eq_( + autogenerate._render_server_default( + "nextval('group_to_perm_group_to_perm_id_seq'::regclass)", + self.autogen_context), + '"nextval(\'group_to_perm_group_to_perm_id_seq\'::regclass)"' + ) + def test_render_modify_type(self): eq_ignore_whitespace( autogenerate._modify_col(