summaryrefslogtreecommitdiff
path: root/django/db/migrations/executor.py
AgeCommit message (Collapse)Author
2018-10-24Fixed #29721 -- Ensured migrations are applied and recorded atomically.Sanyam Khurana
2017-11-28Fixed #28853 -- Updated connection.cursor() uses to use a context manager.Jon Dufresne
2017-06-19Fixed #27858 -- Prevented read-only management commands from creating the ↵Marti Raudsepp
django_migrations table. MigrationRecorder now assumes that if the django_migrations table doesn't exist, then no migrations are applied. Reverted documentation change from refs #23808.
2017-02-28Refs #27656 -- Updated django.db docstring verbs according to PEP 257.Anton Samarchyan
2017-01-19Refs #23919 -- Stopped inheriting from object to define new style classes.Simon Charette
2017-01-18Refs #23919 -- Removed encoding preambles and future importsClaude Paroz
2016-08-24Fixed #27100 -- Included already applied migration changes in the ↵Simon Charette
pre-migrate state. Refs #24100. Thanks Tim for the review.
2016-08-24Fixed #27044 -- Included already applied migration changes in the ↵Simon Charette
post-migrate state when the execution plan is empty. Refs #24100. Thanks tkhyn for the report and Tim for the review.
2016-05-26Fixed #26647 -- Included the state of all applied migrations when migrating ↵Simon Charette
forward. Thanks Jasper Maes for the detailed report.
2016-05-15Fixed #24100 -- Made the migration signals dispatch its plan and apps.Simon Charette
Thanks Markus for your contribution and Tim for your review.
2016-02-25Fixed #26117 -- Consulted database routers in initial migration detection.Scott Sexton
Thanks Simon Charette for help.
2016-02-05Fixed #25833 -- Added support for non-atomic migrations.Pankrat
Added the Migration.atomic attribute which can be set to False for non-atomic migrations.
2015-12-19Fixed #25922 -- Fixed migrate --fake-initial detection of many-to-many tables.Tim Graham
2015-09-19Fixed #24743, #24745 -- Optimized migration plan handlingMarkus Holtermann
The change partly goes back to the old behavior for forwards migrations which should reduce the amount of memory consumption (#24745). However, by the way the current state computation is done (there is no `state_backwards` on a migration class) this change cannot be applied to backwards migrations. Hence rolling back migrations still requires the precomputation and storage of the intermediate migration states. This improvement also implies that Django does not handle mixed migration plans anymore. Mixed plans consist of a list of migrations where some are being applied and others are being unapplied. Thanks Andrew Godwin, Josh Smeaton and Tim Graham for the review as well as everybody involved on the ticket that kept me looking into the issue.
2015-07-13Fixed #24375 -- Added Migration.initial attributeAndrei Kulakov
The new attribute is checked when the `migrate --fake-initial` option is used. initial will be set to True for all initial migrations (this is particularly useful when initial migrations are split) as well as for squashed migrations.
2015-06-03Cleaned up docstring style, per Tim Graham review.Carl Meyer
2015-06-03Refs #24628 -- Added a second test and a docstring comment to avoid regression.Carl Meyer
2015-06-02Fixed #24628 -- Fixed applied status for squashed migrations.Carl Meyer
2015-04-01Refs #24554 -- Prevented rendering of unused migrationsMarkus Holtermann
Thanks Claude Paroz and Tim Graham for the review
2015-04-01Fixed #24554 -- Sped up migrations by rendering initial apps when they are ↵Markus Holtermann
first needed Calling Migration.mutate_state() now also allows to do in_place mutations in case an intermediate state is thrown away later. Thanks Anssi Kääriäinen for the idea, Ryan Hall for parts of the patch, and Claude Paroz and Tim Graham for the review
2015-02-23Fixed #24366 -- Optimized traversal of large migration dependency graphs.Marten Kenbeek
Switched from an adjancency list and uncached, iterative depth-first search to a Node-based design with direct parent/child links and a cached, recursive depth-first search. With this change, calculating a migration plan for a large graph takes several seconds instead of several hours. Marked test `migrations.test_graph.GraphTests.test_dfs` as an expected failure due to reaching the maximum recursion depth.
2015-02-13Fixed #24184 -- Prevented automatic soft-apply of migrationsMarkus Holtermann
Previously Django only checked for the table name in CreateModel operations in initial migrations and faked the migration automatically. This led to various errors and unexpected behavior. The newly introduced --fake-initial flag to the migrate command must be passed to get the same behavior again. With this change Django will bail out in with a "duplicate relation / table" error instead. Thanks Carl Meyer and Tim Graham for the documentation update, report and review.
2015-02-06Sorted imports with isort; refs #23860.Tim Graham
2015-01-12Fixed #24129 -- Added indicator that migrations are rendering the initial stateMarkus Holtermann
Thanks Tim Graham for the review.
2015-01-12Fixed #24123 -- Used all available migrations to generate the initial ↵Markus Holtermann
migration state Thanks Collin Anderson for the input when creating the patch and Tim Graham for the review.
2015-01-02Fixed #23745 -- Reused states as much as possible in migrationsClaude Paroz
Thanks Tim Graham and Markus Holtermann for the reviews.
2015-01-02Passed around the state between migrationsClaude Paroz
Refs #23745.
2015-01-02Replaced migration state render() by apps cached propertyClaude Paroz
Refs #23745.
2014-11-19Fixed #23410 -- Avoided unnecessary rollbacks in related apps when migrating ↵Carl Meyer
backwards.
2014-09-24Revert "Fixed #23474 -- Prevented migrating backwards from unapplying the ↵Tim Graham
wrong migrations." This reverts commit abcf28a07695a45cb5fb15b81bffc97bea5e0be3.
2014-09-23Called table_names instead of get_table_list in migrationsClaude Paroz
2014-09-15Fixed #23474 -- Prevented migrating backwards from unapplying the wrong ↵valtron
migrations.
2014-07-29Fix soft_applied in a way that doesn't break testsAndrew Godwin
2014-07-29Make detect_soft_applied exit correctly on non-create migrationsAndrew Godwin
2014-07-25Fixed #23093: soft application detection for swapped modelsAndrew Godwin
2014-06-23Fixed #22881 -- Better soft_applied migration detectionChris Beaven
2014-05-06Added a bunch of missing unicode_literalsClaude Paroz
Refs #22564.
2014-04-30Fixed #22485: Include all unmigrated apps in project state by default.Andrew Godwin
2014-03-03Fixed many typos in comments and docstrings.Rodolfo Carvalho
Thanks Piotr Kasprzyk for help with the patch.
2014-01-24Fix soft-apply detection of migrations with dependenciesAndrew Godwin
2013-12-28Used app_label instead of appname.Aymeric Augustin
The last component of the dotted path to the application module is consistently referenced as the application "label". For instance it's AppConfig.label. appname could be confused with AppConfig.name, which is the full dotted path.
2013-12-24Renamed AppCache to Apps.Aymeric Augustin
Also renamed app_cache to apps and "app cache" to "app registry". Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-11-27Include deferred SQL in sqlmigrate outputAndrew Godwin
2013-10-30Auto-apply initial migrations if their tables exist already.Andrew Godwin
2013-10-23Fix migration planner to fully understand squashed migrations. And test.Andrew Godwin
2013-09-25Make sqlmigrate ignore the RunPython operationAndrew Godwin
2013-09-06Adding 'sqlmigrate' command and quote_parameter to support it.Andrew Godwin
2013-08-11Fix weird planning issues when already fully migrated.Andrew Godwin
2013-07-26Add --fake option to migrateAndrew Godwin
2013-07-22Make migrate command recognise prefixes and 'zero'.Andrew Godwin