Hi, This feels like a very common use case but I can't figure out the best practice or any guidance online so would really appreciate any advice.
*Django Version: 3.1* *Python: 3.7* Here is the scenario: 1. I have a custom data migration that loads custom data into a migration. Following exactly the pattern in the given documentation on data migrations <https://docs.djangoproject.com/en/4.1/topics/migrations/#data-migrations> . In this case, this migration file was called 'add_areas.py' and exists in the `migrations/ ` folder as expected. The 'add_areas' migration has a single RunPython(add_areas, reverse_code=remove_areas) operation. 2. I squashed all my migrations, including 'add_areas' into 'all_squashed.py'. Now, the RunPython command in 'all_squashed.py' references the custom `add_areas` and `remove_areas` function in the 'add_areas.py' migration file. 3. As the migration is squashed, and applied in my environments, I now need to delete the 'add_areas' data migration it replaces as recommended at the end of the section in the documentation on squashing migrations <https://docs.djangoproject.com/en/4.1/topics/migrations/#squashing-migrations> 4. I can't delete the 'add_areas' data migration now as it has the custom functions. The few options that I have come up with to have this to work, but I feel there is a cleaner pattern which will let me keep the custom functions in the migrations/ folder and squash migrations easily: 1. Move all the custom functions for any data migrations to the squashed migration. This will let me delete the data migration `add_areas`. I however want to keep these functions in different files for readability rather than having to copy and modify them every time I squash migrations. 2. I tested simply deleting migration class/having an empty migration class/having a migration class with no dependencies/operations from 'add_areas' and only leaving the custom functions in those files. All of these raised errors, either BadMigration or multiple leaves. 3. The failure in option 2 leaves me to Option 3 where I can simply move these functions outside the migrations folder and reference the files from there. This however feels clunky, and I don't want to create a new folder in my application just for a few data migrations. So essentially looking for a pattern that will allow me to keep custom migration function files/modules within 'migrations/' and not have to move/modify these functions everytime I squash my migrations. Thank you for any advice :) Regards, Saksham -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/282615f7-fe72-4303-af73-916d40dcc0a0n%40googlegroups.com.

