From 98c5513b77d0bf3cca516151dc75f68b1bd86d92 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 30 Jan 2012 13:03:43 -0500 Subject: [PATCH] cut off the slug length at 20 chars --- alembic/script.py | 2 +- tests/test_revision_create.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/alembic/script.py b/alembic/script.py index 5598b78f..bc5b66af 100644 --- a/alembic/script.py +++ b/alembic/script.py @@ -149,7 +149,7 @@ class ScriptDirectory(object): return map_ def _rev_path(self, rev_id, message): - slug = "_".join(_slug_re.findall(message or "")[0:20]).lower() + slug = "_".join(_slug_re.findall(message or "")).lower()[0:20] filename = "%s.py" % ( self.file_template % {'rev':rev_id, 'slug':slug} ) diff --git a/tests/test_revision_create.py b/tests/test_revision_create.py index 51aade27..2bdca938 100644 --- a/tests/test_revision_create.py +++ b/tests/test_revision_create.py @@ -58,6 +58,15 @@ def test_007_no_refresh(): env2 = staging_env(create=False) eq_(script, env2._as_rev_number("head")) +def test_008_long_name(): + rid = util.rev_id() + script = env.generate_rev(rid, + "this is a really long name with " + "lots of characters and also " + "I'd like it to\nhave\nnewlines") + assert os.access( + os.path.join(env.dir, 'versions', '%s_this_is_a_really_lon.py' % rid), os.F_OK) + def setup(): global env -- 2.47.2