{"id":16236003,"url":"https://github.com/browniebroke/django-remake-migrations","last_synced_at":"2025-10-17T10:41:02.398Z","repository":{"id":199310625,"uuid":"702609746","full_name":"browniebroke/django-remake-migrations","owner":"browniebroke","description":"A Django admin command to recreate all migrations in a project.","archived":false,"fork":false,"pushed_at":"2024-05-22T11:11:54.000Z","size":321,"stargazers_count":7,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-22T19:07:40.987Z","etag":null,"topics":["database","django","hacktoberfest","migrations"],"latest_commit_sha":null,"homepage":"https://django-remake-migrations.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/browniebroke.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["browniebroke"]}},"created_at":"2023-10-09T16:32:07.000Z","updated_at":"2024-05-27T23:13:38.273Z","dependencies_parsed_at":"2023-10-14T18:08:28.109Z","dependency_job_id":"6a7a7f1e-5c8b-45d5-8da0-2ac3fcd6f101","html_url":"https://github.com/browniebroke/django-remake-migrations","commit_stats":null,"previous_names":["browniebroke/django-remake-migrations"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browniebroke%2Fdjango-remake-migrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browniebroke%2Fdjango-remake-migrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browniebroke%2Fdjango-remake-migrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/browniebroke%2Fdjango-remake-migrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/browniebroke","download_url":"https://codeload.github.com/browniebroke/django-remake-migrations/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244002720,"owners_count":20382043,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","django","hacktoberfest","migrations"],"created_at":"2024-10-10T13:28:39.700Z","updated_at":"2025-10-17T10:41:02.331Z","avatar_url":"https://github.com/browniebroke.png","language":"Python","funding_links":["https://github.com/sponsors/browniebroke"],"categories":[],"sub_categories":[],"readme":"# Django remake migrations\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/browniebroke/django-remake-migrations/actions/workflows/ci.yml?query=branch%3Amain\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/browniebroke/django-remake-migrations/ci.yml?branch=main\u0026label=CI\u0026logo=github\u0026style=flat-square\" alt=\"CI Status\" \u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://django-remake-migrations.readthedocs.io\"\u003e\n    \u003cimg src=\"https://img.shields.io/readthedocs/django-remake-migrations.svg?logo=read-the-docs\u0026logoColor=fff\u0026style=flat-square\" alt=\"Documentation Status\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/browniebroke/django-remake-migrations\"\u003e\n    \u003cimg src=\"https://img.shields.io/codecov/c/github/browniebroke/django-remake-migrations.svg?logo=codecov\u0026logoColor=fff\u0026style=flat-square\" alt=\"Test coverage percentage\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/astral-sh/uv\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json\" alt=\"uv\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\" alt=\"Ruff\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/pre-commit/pre-commit\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\u0026style=flat-square\" alt=\"pre-commit\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/django-remake-migrations/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/django-remake-migrations.svg?logo=python\u0026logoColor=fff\u0026style=flat-square\" alt=\"PyPI Version\"\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/pyversions/django-remake-migrations.svg?style=flat-square\u0026logo=python\u0026amp;logoColor=fff\" alt=\"Supported Python versions\"\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/l/django-remake-migrations.svg?style=flat-square\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n---\n\n**Documentation**: \u003ca href=\"https://django-remake-migrations.readthedocs.io\" target=\"_blank\"\u003ehttps://django-remake-migrations.readthedocs.io\u003c/a\u003e\n\n**Source Code**: \u003ca href=\"https://github.com/browniebroke/django-remake-migrations\" target=\"_blank\"\u003ehttps://github.com/browniebroke/django-remake-migrations \u003c/a\u003e\n\n---\n\nA Django admin command to recreate all migrations in a project. Like a `squashmigrations` command on steroids.\n\n## The problem\n\nThe built-in `squashmigrations` command is great, but it only work on a single app at a time, which means that you need to run it for each app in your project. On a project with enough cross-apps dependencies, it can be tricky to run.\n\nThis command aims at solving this problem, by recreating all the migration files in the whole project, from scratch, and mark them as applied by using the `replaces` attribute.\n\nIt makes an important trade-off though: it does NOT try to be correct when setting the `replaces` attribute. The only guarantees are that:\n\n- all old migrations are marked as replaced **once**.\n- all new migrations replace at least one of the old migrations\n\nThis is OK to make this trade-off as long as all your environments are fully migrated when you deploy the remade migrations.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://browniebroke.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/861044?v=4?s=80\" width=\"80px;\" alt=\"Bruno Alla\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBruno Alla\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/browniebroke/django-remake-migrations/commits?author=browniebroke\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-browniebroke\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/browniebroke/django-remake-migrations/commits?author=browniebroke\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/DmytroLitvinov\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16066485?v=4?s=80\" width=\"80px;\" alt=\"Dmytro Litvinov\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDmytro Litvinov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/browniebroke/django-remake-migrations/commits?author=DmytroLitvinov\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://mikulaspoul.cz\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5583319?v=4?s=80\" width=\"80px;\" alt=\"Mikuláš Poul\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMikuláš Poul\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/browniebroke/django-remake-migrations/commits?author=mikicz\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-mikicz\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://adamj.eu/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/857609?v=4?s=80\" width=\"80px;\" alt=\"Adam Johnson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Johnson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/browniebroke/django-remake-migrations/issues?q=author%3Aadamchainz\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## Credits\n\nThis package was created with\n[Copier](https://copier.readthedocs.io/) and the\n[browniebroke/pypackage-template](https://github.com/browniebroke/pypackage-template)\nproject template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowniebroke%2Fdjango-remake-migrations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrowniebroke%2Fdjango-remake-migrations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrowniebroke%2Fdjango-remake-migrations/lists"}