Commit Graph

20 Commits

Author SHA1 Message Date
Simon Charette be67400b47 Refs #24652 -- Used SimpleTestCase where appropriate. 2015-05-20 13:46:13 -04:00
Markus Holtermann 811d7870a5 Moved migration exception classes to shared module
Thanks Aymeric Augustin for the review.
2015-05-02 12:54:44 +02:00
Marten Kenbeek 75430be86f Refs #24366 -- Fixed recursion depth error in migration graph
Made MigrationGraph forwards_plan() and backwards_plan() fall back to an
iterative approach in case the recursive approach exceeds the recursion
depth limit.
2015-03-29 16:08:07 +02:00
Marten Kenbeek bc83add04c Refs #24366 -- Renamed arguments in MigrationGraph, renamed tests 2015-03-29 16:07:58 +02:00
Marten Kenbeek 78d43a5e10 Fixed #24366 -- Optimized traversal of large migration dependency graphs.
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-23 12:38:53 +01:00
Tim Graham 0ed7d15563 Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
Josh Schneier 9a23470072 Fixed #24017 -- Added python_2_unicode_compatible in db/migrations 2014-12-21 16:10:43 -05:00
Tim Graham 392e11945f Fixed flake8 warnings. 2014-11-25 11:20:40 -05:00
Luke Plant ff3d746e8d Fixed bug in circular dependency algo for migration dependencies.
Previous algo only worked if the first item was a part of the loop,
and you would get an infinite loop otherwise (see test).

To fix this, it was much easier to do a pre-pass.

A bonus is that you now get an error message that actually helps you debug
the dependency problem.
2014-11-25 15:37:34 +00:00
Andrew Godwin c5def493d0 Fixed #23835: Changed circular dependency in DFS to be less infinite 2014-11-15 17:39:02 +01:00
Markus Holtermann 85086c8158 Fixed #23556 -- Raised a more meaningful error message when migrations refer to an unavailable node 2014-10-30 00:17:29 +01:00
Markus Bertheau 61f56e239f Corrected grammar in migrations error message. 2014-09-10 10:32:33 -04:00
Andrew Godwin 3ab36d0046 Fix Python 3 incompatability 2014-09-05 15:47:20 -07:00
Ben Reilly b878c73fc3 switch out recursive dfs for stack based approach, to avoid possibly hitting the recursion limit 2014-09-05 15:26:05 -07:00
Raffaele Salmaso abd640fbdf Fixed #23341 -- Added migration name to nonexistent migration error in makemigrations. 2014-08-23 19:18:03 -04:00
Raffaele Salmaso be4baaefe2 Fixed #23352 -- Added tests for MigrationGraph.{forwards,backwards}_plan 2014-08-23 21:35:13 +00:00
Andrew Godwin 2cee1d4642 Fixed #22861: Internal migrations done first so __first__ works
Thanks to Chris Beaven.
2014-06-17 23:28:35 -07:00
Andrew Godwin 7f9a0b7061 Fix graph tests 2013-05-30 17:56:53 +01:00
Andrew Godwin d0ecefc2c9 Start adding operations that work and tests for them 2013-05-29 17:47:10 +01:00
Andrew Godwin 7d041b9394 Split up test and make the State classes a bit better. 2013-05-18 13:49:56 +02:00