this feature requires an opt-in flag, named --resolve-nested-apps. enabling this flag will attempt to map migration files to django.apps.apps.app_configs by using both's relative path to self.django_path (or settings.BASE_DIR). if the app_config's relative path matches the migration files's parent folder's relative path, that is considered a match and the migration is associated with the app_config.label for later lookups.
specifically, django-migration-linter presently assumes the app_config's label is going to be the foldername of the pymodule, which must be the django default when no AppConfig class provides a label. This pattern does not work for nested apps, it does not map migration files to app_labels correctly, meaning these app's and their migrations are skipped during linting.
support migrations discovered within a submodule
this feature requires an opt-in flag, named --resolve-nested-apps. enabling this flag will attempt to map migration files to django.apps.apps.app_configs by using both's relative path to self.django_path (or settings.BASE_DIR). if the app_config's relative path matches the migration files's parent folder's relative path, that is considered a match and the migration is associated with the app_config.label for later lookups.
specifically, django-migration-linter presently assumes the app_config's label is going to be the foldername of the pymodule, which must be the django default when no AppConfig class provides a label. This pattern does not work for nested apps, it does not map migration files to app_labels correctly, meaning these app's and their migrations are skipped during linting.