]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Change filename length restriction to 60 characters & word truncation
authorTeemu Kokkonen <teemu.kokkonen@fastmonkeys.com>
Wed, 20 Nov 2013 13:52:17 +0000 (15:52 +0200)
committerTeemu Kokkonen <teemu.kokkonen@fastmonkeys.com>
Wed, 20 Nov 2013 13:52:17 +0000 (15:52 +0200)
Example of a longer filename:
- 3e12cdb9209d_alter_user_table_telephone_and_mobile_columns.py

Example of a filename that has been truncated:
- 12894284029g_create_partial_index_for_article_telephone_column_and_.py

alembic/script.py
tests/test_revision_create.py

index 8f3d11f0c0e8d8670e0ff5104a9a84511727f060..f8ef9603b0608d472d1b4c81a265d8152a95b306 100644 (file)
@@ -220,7 +220,9 @@ class ScriptDirectory(object):
         return map_
 
     def _rev_path(self, rev_id, message, create_date):
-        slug = "_".join(_slug_re.findall(message or "")).lower()[0:20]
+        slug = "_".join(_slug_re.findall(message or "")).lower()
+        if len(slug) > 60:
+            slug = slug[:60].rsplit('_', 1)[0]+'_'
         filename = "%s.py" % (
             self.file_template % {
                 'rev': rev_id,
index a74346e85555d631f24c7c521db636d9de6947aa..313be0d034ac0d712f111d60559d6d2490e866e2 100644 (file)
@@ -76,7 +76,8 @@ class GeneralOrderedTests(unittest.TestCase):
                 "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)
+                        '%s_this_is_a_really_long_name_with_lots_of_'
+                        'characters_and_also_.py' % rid), os.F_OK)
 
 
     @classmethod