From fa2d266de0c9ff8616f9a332e0aa5fa545a57b15 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 23 Jun 2012 12:24:33 -0400 Subject: [PATCH] - apply repr() to server default string, #31 --- CHANGES | 6 ++++++ alembic/__init__.py | 2 +- alembic/autogenerate.py | 2 +- tests/test_autogenerate.py | 8 ++++++++ 4 files changed, 16 insertions(+), 2 deletions(-) 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( -- 2.47.2