Tim Graham
87338198e9
Fixed #26320 -- Deprecated implicit OneToOnField parent_link.
2016-04-22 12:59:41 -04:00
Matthew Schinckel
5402f3ab09
Fixed #26475 -- Added functools.partial() support to migrations autodetector.
2016-04-19 10:17:11 -04:00
Berker Peksag
93deb1691e
Fixed #26492 -- Fixed "maximum recursion depth exceeded" migrate error.
...
A regression introduced in 0d3c616fbb2f49fa7ff6809e5a6777275352b35b;
refs #26351 .
2016-04-12 09:04:14 -04:00
Tim Graham
92053acbb9
Fixed E128 flake8 warnings in tests/.
2016-04-08 10:12:33 -04:00
Attila Tovt
02ae5fd31a
Fixed #25850 -- Made migrate/makemigrations error on inconsistent history.
2016-04-05 08:52:08 -04:00
Markus Holtermann
8b1110ddff
Added missing primary keys to some OperationTests
...
Thanks Common Code for financing the work on this commit.
2016-04-03 01:40:46 +02:00
Attila Tovt
00dbd02f7e
Made MakeMigrationsTests call proper parent method
2016-04-02 10:10:38 +02:00
Berker Peksag
14e6823d09
Refs #25388 -- Used in-memory database in test_disable_migrations.
2016-03-23 10:55:30 -04:00
Berker Peksag
157d7f1f1d
Fixed #25388 -- Added an option to allow disabling of migrations during test database creation
2016-03-23 08:21:30 +08:00
Jarek Glowacki
34c56687ae
Fixed #26342 -- Prevented unpacking when repr a NodeNotFoundError
2016-03-10 17:27:35 +11:00
Scott Sexton
fc584f0685
Fixed #26117 -- Consulted database routers in initial migration detection.
...
Thanks Simon Charette for help.
2016-02-25 09:56:00 -05:00
Tim Graham
8ad7b8118c
Used addCleanup() to call recorder.flush() in migration loader tests.
2016-02-24 11:22:09 -05:00
Tim Graham
406675b1a0
Fixed #26176 -- Fixed E123 flake8 warnings.
2016-02-05 15:11:07 -05:00
Pankrat
f91a04621e
Fixed #25833 -- Added support for non-atomic migrations.
...
Added the Migration.atomic attribute which can be set to False
for non-atomic migrations.
2016-02-05 09:09:05 -05:00
Hasan
26ad01719d
Refs #26022 -- Replaced six.assertRaisesRegex with assertRaisesMessage as appropriate.
2016-01-29 13:37:33 -05:00
Hasan
3d0dcd7f5a
Refs #26022 -- Used context manager version of assertRaises in tests.
2016-01-29 12:32:18 -05:00
Yoong Kang Lim
5453aa66cf
Added a missing test method in tests/migrations/test_writer.py.
2016-01-28 10:38:10 -05:00
Simon Charette
4dcaa5871b
Fixed #26135 -- Adjusted the migration questioner's handling of disabled apps.
...
This was causing an issue when calling the `migrate` command in a test case with
the `available_apps` attribute pointing to an application with migrations
disabled using the `MIGRATION_MODULES` setting.
Thanks to Tim Graham for the review.
Refs #24919
2016-01-25 21:38:36 -05:00
Simon Charette
729e0b086d
Fixed #24109 -- Allowed RunSQL and RunPython operations to be elided.
...
Thanks to Markus Holtermann and Tim Graham for their review.
2016-01-23 14:19:03 -05:00
Alexander Sosnovskiy
2a7ce34600
Fixed #14286 -- Added models.BigAutoField.
2015-12-25 20:01:31 -05:00
Tim Graham
fa9ce4e9a6
Fixed #25922 -- Fixed migrate --fake-initial detection of many-to-many tables.
2015-12-19 13:37:24 -05:00
Niels Van Och
99a1265a39
Fixed #25063 -- Added path to makemigration's output of migration file.
2015-12-18 11:20:00 -05:00
Simon Charette
c4e372aaf4
Fixed #25852 -- Made sure AlterModelManager forces a reload of its model state.
...
Thanks to Geoffrey Sechter and the Django NYC group for the report and Markus
for the review.
2015-12-15 12:22:59 -05:00
Shai Berger
c8b3fbe21b
Refs #25896 -- Fixed migration test failure on Oracle
...
The test creates and deletes a model in the same migration, and the model
had an AutoField. On Oracle, AutoField's are set up using deferred SQL, which
in this case was trying to modify a table after it had dbeen removed.
2015-12-10 02:12:04 +02:00
Amos Onn
542b7f6c50
Fixed #25896 -- Fixed state bug in SeparateDatabaseAndState.database_backwards().
2015-12-09 11:06:57 -05:00
Josh Soref
93452a70e8
Fixed many spelling mistakes in code, comments, and docs.
2015-12-03 12:48:24 -05:00
Simon Charette
cc2ca9c550
Fixed #25807 -- Instructed the migration writer about lazy objects.
...
Thanks to Trac alias mrgaolei for the report, Baptiste for the confirmation
and Tim for the review.
2015-11-26 11:14:47 -05:00
Ana Vojnovic
73a6ab6382
Fixed #25551 -- Fixed migration operations ordering when adding fields and a unique_together constraint.
2015-11-20 12:20:41 -05:00
Andrei Fokau
998894e1b9
Fixed #25764 -- Added support for serialization of enum.Enum in migrations.
...
Thanks Tim Graham for the review.
2015-11-19 17:21:12 -05:00
Simon Charette
1c5f4e86bc
Fixed #25745 -- Promoted RuntimeWarnings to errors in the test suite.
2015-11-14 11:33:28 -05:00
Jon Dufresne
3c7d2ee881
Fixed #25604 -- Added makemigrations --check option.
...
Command exits with non-zero status if changes without migrations exist.
2015-10-24 14:45:00 -04:00
Simon Charette
63f0e2df2a
Refs #18012 -- Accounted for reverse proxy relations in migrations.
...
Thanks to Markus for the suggestion and Tim for the review.
2015-10-19 20:15:13 -04:00
Tim Graham
b6e6fcf326
Refs #23359 -- Removed the migrate --list option per deprecation timeline.
2015-09-23 19:31:10 -04:00
Markus Holtermann
43f2eb7ef3
Fixed #25390 -- Allowed specifying a start migration in squashmigrations
...
Thanks Tim Graham for the review.
2015-09-19 14:55:34 +10:00
Markus Holtermann
5aa55038ca
Fixed #24743 , #24745 -- Optimized migration plan handling
...
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-09-19 14:54:53 +10:00
Dražen Odobašić
b1e33ceced
Fixed #23395 -- Limited line lengths to 119 characters.
2015-09-12 11:40:50 -04:00
Markus Holtermann
f45ee19746
Refs #24919 -- Raised more helpful error message for disabled migrations
2015-09-12 10:38:15 +10:00
Markus Holtermann
a3c01b0dd8
Fixed #24919 -- Allowed disabling of migrations on a per app basis
2015-09-12 10:38:15 +10:00
Alex Hill
25c157e4cc
Refs #24215 -- Improved error message for unhandled lazy model operations.
2015-09-07 20:31:58 -04:00
Tyson Clugg
e34226fc37
Fixed #25259 -- Added comments to header of generated migration files
2015-08-31 22:14:21 +10:00
Markus Holtermann
8e631a3175
Refs #24590 -- Ensured isolation between autodetector tests
...
Fixed a regression introduced in e1427cc609
when running tests in reverse order.
2015-08-28 10:17:34 +10:00
Markus Holtermann
91f701f4fc
Fixed #25280 -- Properly checked regex objects for equality to prevent infinite migrations
...
Thanks Sayid Munawar and Tim Graham for the report, investigation and
review.
2015-08-27 09:52:53 +10:00
Jeremy Satterfield
1175027641
Fixed #25308 -- Made MigrationQuestioner respect MIGRATION_MODULES setting.
2015-08-26 09:04:00 -04:00
Tim Graham
01966bb2a7
Fixed typo in tests/migrations/test_autodetector.py.
2015-08-20 14:52:26 -04:00
Markus Holtermann
0271a11ba5
Fixed #24755 -- Hid operations from dependency apps when merging migrations
...
Thanks Carl Meyer for the report and Tim Graham for the review.
2015-08-18 18:33:14 +10:00
Caio Ariede
de41fbb3cf
Fixed #25239 -- Corrected makemigrations numbering if a migration has a number-only filename.
2015-08-14 07:28:37 -04:00
Simon Charette
12f91f6ebd
Used skipUnlessDBFeature where appropriate.
2015-08-08 11:27:06 -04:00
mlavin
69db1c7455
Fixed #25231 -- Added recording of squashed migrations in the migrate command.
...
Ensured squashed migrations are recorded as applied when the
migrate command is run and all of the original migrations
have been previously applied.
2015-08-07 17:59:18 -04:00
Piper Merriam
537818af87
Fixed #25185 -- Added support for functools.partial serialization in migrations
2015-07-29 10:15:50 -04:00
Piper Merriam
b1e552debf
Fixed #25186 -- Improved migration's serialization of builtins on Python 2.
2015-07-28 18:15:01 -04:00
Flavio Curella
c2e70f0265
Fixed #21127 -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField
2015-07-27 18:28:13 -04:00
Andrei Kulakov
db97a88495
Fixed #24375 -- Added Migration.initial attribute
...
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-07-13 15:57:40 -04:00
Kai Richard Koenig
60f795c060
Fixed #25040 -- Fixed migrations state crash with GenericForeignKey
2015-07-02 12:48:29 -04:00
Andriy Sokolovskiy
c0cf73a57d
Refs #20203 -- Allowed adding custom default manager to the model state
...
If the only manager on the model is the default manager defined
by Django (`objects = models.Manager()`), this manager will not
be added to the model state. If it is custom, it needs to be
passed to the model state.
2015-06-29 21:15:37 -04:00
Tim Graham
aaacaeb096
Renamed RemovedInDjangoXYWarnings for new roadmap.
...
Forwardport of ae1d663b79
from stable/1.8.x plus more.
2015-06-24 16:08:20 -04:00
Markus Holtermann
7bb7670ee4
Used mock in MigrationQuestioner tests
...
Thanks Andriy Sokolovskiy and Simon Charette for the review.
2015-06-23 17:34:22 +02:00
Tim Graham
7f1168e387
Removed support for Python 3.3.
2015-06-18 08:36:50 -04:00
Markus Holtermann
e470f311d6
Fixed #24828 -- Allowed migration optimization across AlterFooTogether
...
The idea behind this change is, that AlterUniqueTogether,
AlterIndexTogether and AlterOrderWithRespectTo can always be moved after
an Add/Alter/Rename/RemoveField operation if they don't refer to the
respective field and are not empty sets / None.
Combined with the optimizations of duplicate AlterUniqueTogether,
AlterIndexTogether, and AlterOrderWithRespectTo operations from
128caa1e16
, these operations are optimized
in a later round of the optimizer.
Thanks Tim Graham for the review.
2015-06-16 00:43:22 +02:00
Markus Holtermann
128caa1e16
Optimized duplicate AlterModelTable/AlterFooTogether/AlterOWRT
...
Thanks Andrew Godwin for the review.
2015-06-14 20:34:48 +02:00
Markus Holtermann
5bc412c35a
Took AlterOrderWithRespectTo into account when optimizing migrations
...
Thanks Andrew Godwin for the review.
2015-06-14 20:34:34 +02:00
Carl Meyer
57dbc87ade
Cleaned up docstring style, per Tim Graham review.
2015-06-03 19:20:12 -06:00
Carl Meyer
5c085ea7b3
Refs #24628 -- Added a second test and a docstring comment to avoid regression.
2015-06-03 13:46:01 -06:00
Carl Meyer
492537ac18
Fixed #24628 -- Fixed applied status for squashed migrations.
2015-06-02 16:15:13 -06:00
Carl Meyer
335fc44f68
Improved isolation of applied-migrations table in migration tests.
2015-06-02 16:14:02 -06:00
Carl Meyer
84522c0d16
Fixed #24895 -- Fixed loading a pair of squashed migrations with a dependency.
2015-06-02 12:07:54 -06:00
Yoong Kang Lim
076a63e672
Fixed #24883 -- Added MigrationGraph.__repr__()
2015-06-01 10:45:52 -04:00
Matt Westcott
ff8a02ae0b
Fixed #24340 -- Added nested deconstruction for list, tuple and dict values
...
Nested deconstruction should recursively deconstruct items within list,
tuple and dict values.
2015-05-26 17:10:02 +02:00
Marten Kenbeek
d73176a842
Fixed #24848 -- Fixed ValueError for faulty migrations module.
...
Added apps to unmigrated apps if the migrations module is a file
or a folder missing __init__.py.
Thanks to Ernest0x for the bug report.
2015-05-25 13:47:50 -04:00
Simon Charette
be67400b47
Refs #24652 -- Used SimpleTestCase where appropriate.
2015-05-20 13:46:13 -04:00
Tim Graham
f5da438072
Fixed #24812 -- Fixed app registry RuntimeWarnings in schema and migrations tests.
2015-05-18 09:48:25 -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
Markus Holtermann
63f9b633f9
Fixed #24725 -- Allowed renaming of target models in ManyToMany relations
...
This is a regression caused by introducing rendered migration states in
1aa3e09c20
and the _meta refactoring in fb48eb0581
.
Thanks to Danilo Bargen for reporting the issue and Marten Kenbeek and
Tim Graham for triaging the bug and providing the initial test case.
2015-04-30 13:27:29 +02:00
Markus Holtermann
faad6070ee
Fixed #24701 -- Converted model manager names to unicode in migrations
...
Thanks to Reto Aebersold for reporting the issue and Tim Graham and
Claude Paroz for the review.
2015-04-25 18:17:06 +02:00
Markus Holtermann
b93690c465
Fixed #24573 -- Considered new related models for reloading
...
Thanks tttomekkk for the report.
2015-04-21 11:35:45 +02:00
Marten Kenbeek
1a1f16d67d
Fixed #24591 -- Optimized cloning of ModelState objects.
...
Changed ModelState.clone() to create a shallow copy of self.fields
and self.managers.
2015-04-20 19:53:21 -04:00
Marten Kenbeek
039d7881b4
Refs #24397 -- Sped up model reloading in ProjectState.
...
Created bulk_update() context manager on StateApps. Sped up unregistering
models in reload_models() by using this context mananger.
2015-04-20 14:42:23 -04:00
Claude Paroz
02260ea3f6
Fixed #24595 -- Prevented loss of null info in MySQL field alteration
...
Thanks Simon Percivall for the report, and Simon Charette and Tim
Graham for the reviews.
2015-04-17 10:25:15 +02:00
Christopher Luc
a7bc00e17b
Fixed #24514 -- Made migration writer omit models import if it's unused.
2015-04-10 07:04:26 -04:00
Curtis Maloney
88d7fcebde
Use mock.patch in migrations tests
...
Currently some of the migrations tests rely on the fact 'input' is aliased
because of six, instead of using mock.patch. Replace this code with proper
use of mock.patch.
Also, replace one case of excessively specific python version check with
testing six.PY3
2015-04-09 11:16:12 +10:00
Patryk Zawadzki
0385dad073
Fixed #24513 -- Made sure a model is only rendered once during reloads
...
This also prevents state modifications from corrupting previous states.
Previously, when a model defining a relation was unregistered first,
clearing the cache would cause its related models' _meta to be cleared
and would result in the old models losing track of their relations.
2015-04-07 14:49:47 +02:00
Marten Kenbeek
e8e4f978dd
Fixed #24278 -- Fixed serialization of migration operations.
...
Fixed MigrationWriter.serialize() to correctly handle migration
operations by utilizing OperationWriter.
Thanks Piotr Maliński for the report.
2015-04-05 20:26:21 +02:00
Marten Kenbeek
d597174bd4
Refs #24278 -- Allowed multi-line serializations in OperationWriter.
...
Changed OperationWriter to support multi-line serialized values with
correct indentation.
2015-04-05 20:19:24 +02:00
Baptiste Mispelon
30a3c2f74c
Fixed #24566 -- Added support for serializing timedelta
...
Thanks to knbk for the report.
2015-04-02 17:21:20 +02:00
Markus Holtermann
c5cc332bf2
Fixed #24550 -- Added migration operation description to sqlmigrate output
...
Thanks Tim Graham for the review.
2015-03-30 16:31:20 +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
Markus Holtermann
c7ec3c07e7
Fixed #24537 -- Ignored field order in RenameModel detection
...
Thanks to David Sanders for the report and test and Simon Charette for
the review.
2015-03-28 20:45:15 +01:00
Anssi Kääriäinen
8f30556329
Renamed Field.rel attribute to remote_field
...
Field.rel is now deprecated. Rel objects have now also remote_field
attribute. This means that self == self.remote_field.remote_field.
In addition, made the Rel objects a bit more like Field objects. Still,
marked ManyToManyFields as null=True.
2015-03-25 08:16:12 -04:00
David Szotten
80e3444eca
Fixed #24483 -- Prevented keepdb from breaking with generator choices.
...
If Field.choices is provided as an iterator, consume it in __init__ instead
of using itertools.tee (which ends up holding everything in memory
anyway). Fixes a bug where deconstruct() was consuming the iterator but
bypassing the call to `tee`.
2015-03-24 11:42:53 -04:00
Baptiste Mispelon
1aadade373
Fixed #24521 -- Added support for serializing frozensets in migrations.
2015-03-23 15:38:25 +01:00
John Giannelos
8758a63ddb
Fixed #24427 -- Stopped writing migration files in dry run mode when merging.
...
Also added display of migration to stdout when verbosity=3.
2015-03-16 14:04:37 -04:00
Matthew Wilkes
ae87ad005f
Refs #24354 -- Prevented repointing of relations on superclasses when migrating a subclass's name change
...
Forwardport of test and release note from stable/1.7.x
2015-03-14 15:37:40 -04:00
Marten Kenbeek
e272904ff7
Fixed #23407 -- Extended coverage of makemigrations --noinput option.
...
Changed --noinput option in makemigrations to suppress all user prompts,
not just when combined with --merge.
2015-03-08 19:44:14 +01:00
Markus Holtermann
a9e29fae10
Fixed #24435 -- Prevented m2m field removal and addition in migrations when changing blank
...
Thanks Mark Tranchant for the report an Tim Graham for the test and
review.
2015-03-04 14:26:49 +01:00
Aymeric Augustin
903d1a57ab
Made migrations tests write to a temporary directory.
...
This is preferrable to writing in the current working directory because
it eliminates the risk to leak unwanted files, which can result in very
weird test failures.
Also this will help if we ever try to run these tests concurrently.
2015-02-23 22:22:58 +01: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
Loic Bistuer
bed504d70b
Fixed #24351 , #24346 -- Changed the signature of allow_migrate().
...
The new signature enables better support for routing RunPython and
RunSQL operations, especially w.r.t. reusable and third-party apps.
This commit also takes advantage of the deprecation cycle for the old
signature to remove the backward incompatibility introduced in #22583 ;
RunPython and RunSQL won't call allow_migrate() when when the router
has the old signature.
Thanks Aymeric Augustin and Tim Graham for helping shape up the patch.
Refs 22583.
2015-02-20 21:34:09 +07:00
Shai Berger
f7d34fe741
Fixed #24362 : Made test run each migration operation in its own schema editor
...
Thanks Tim Graham for pointing out the fix.
2015-02-18 22:47:15 +02:00
Marten Kenbeek
15dc8d1c9d
Fixed #24291 - Fixed migration ModelState generation with unused swappable models
...
Swapped out models don't have a _default_manager unless they have
explicitly defined managers. ModelState.from_model() now accounts for
this case and uses an empty list for managers if no explicit managers
are defined and a model is swapped out.
2015-02-18 19:05:10 +01:00
Tim Graham
307c0f299a
Refs #24324 -- Fixed Python 2 test failures when path to Django source contains non-ASCII characters.
2015-02-17 19:03:03 -05:00