Commit de41fbb3 authored by Caio Ariede's avatar Caio Ariede Committed by Tim Graham
Browse files

Fixed #25239 -- Corrected makemigrations numbering if a migration has a number-only filename.

parent 52a190b6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1154,6 +1154,7 @@ class MigrationAutodetector(object):
        Given a migration name, tries to extract a number from the
        beginning of it. If no number found, returns None.
        """
        if re.match(r"^\d+_", name):
            return int(name.split("_")[0])
        match = re.match(r'^\d+', name)
        if match:
            return int(match.group())
        return None
+13 −0
Original line number Diff line number Diff line
@@ -510,6 +510,19 @@ class MakeMigrationsTests(MigrationTestBase):
                    self.assertIn('\\xda\\xd1\\xcd\\xa2\\xd3\\xd0\\xc9', content)  # title.verbose_name
                    self.assertIn('\\u201c\\xd0j\\xe1\\xf1g\\xf3\\u201d', content)  # title.default

    def test_makemigrations_order(self):
        """
        makemigrations should recognize number-only migrations (0001.py).
        """
        module = 'migrations.test_migrations_order'
        with self.temporary_migration_module(module=module) as migration_dir:
            if hasattr(importlib, 'invalidate_caches'):
                # Python 3 importlib caches os.listdir() on some platforms like
                # Mac OS X (#23850).
                importlib.invalidate_caches()
            call_command('makemigrations', 'migrations', '--empty', '-n', 'a', '-v', '0')
            self.assertTrue(os.path.exists(os.path.join(migration_dir, '0002_a.py')))

    def test_failing_migration(self):
        # If a migration fails to serialize, it shouldn't generate an empty file. #21280
        apps.register_model('migrations', UnserializableModel)
+12 −0
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import migrations


class Migration(migrations.Migration):

    initial = True

    operations = [
    ]
+0 −0

Empty file added.