Commit Graph

385 Commits

Author SHA1 Message Date
Kai Richard Koenig 181528726e [1.8.x] Fixed #25040 -- Fixed migrations state crash with GenericForeignKey
Backport of 60f795c060 from master
2015-08-22 08:50:19 -04:00
Tim Graham 0e3a8c22df [1.8.x] Fixed typo in tests/migrations/test_autodetector.py.
Backport of 01966bb2a7 from master
2015-08-20 14:52:36 -04:00
mlavin ac46eb7e83 [1.8.x] 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.

Backport of 69db1c7455 from master
2015-08-07 18:16:37 -04:00
Tim Graham ae1d663b79 [1.8.x] Renamed RemovedInDjango20Warning to RemovedInDjango110Warning. 2015-06-23 07:22:16 -04:00
Carl Meyer 2358c1e5d7 [1.8.x] Cleaned up docstring style, per Tim Graham review.
Backport of 57dbc87ade from master.
2015-06-03 19:21:23 -06:00
Carl Meyer feed5ad2a0 [1.8.x] Refs #24628 -- Added a second test and a docstring comment to avoid regression.
Backport of 5c085ea7b3 from master.
2015-06-03 15:48:53 -06:00
Carl Meyer efdcd13c34 [1.8.x] Fixed #24628 -- Fixed applied status for squashed migrations.
Backport of 492537ac18 from master.
2015-06-02 16:21:58 -06:00
Carl Meyer c37c6dc410 [1.8.x] Improved isolation of applied-migrations table in migration tests.
Backport of 335fc44f68 from master.
2015-06-02 16:21:03 -06:00
Carl Meyer 98b40ffe61 [1.8.x] Fixed #24895 -- Fixed loading a pair of squashed migrations with a dependency.
Backport of 84522c0d16 from master.
2015-06-02 12:10:04 -06:00
Marten Kenbeek 1ac4c7d415 [1.8.x] 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.

Backport of d73176a842 from master
2015-05-25 13:56:37 -04:00
Tim Graham 3c0e03ef42 [1.8.x] Fixed #24812 -- Fixed app registry RuntimeWarnings in schema and migrations tests.
Backport of f5da438072 from master
2015-05-18 10:14:57 -04:00
Markus Holtermann bf4dc5733f [1.8.x] 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.

Backport of 63f9b633f9 from master
2015-04-30 13:46:24 +02:00
Markus Holtermann 419f296259 [1.8.x] 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.

Backport of faad6070ee from master
2015-04-25 18:18:40 +02:00
Markus Holtermann 0cacb8f8ba [1.8.x] Fixed #24573 -- Considered new related models for reloading
Thanks tttomekkk for the report.

Backport of b93690c465 from master
2015-04-21 12:06:11 +02:00
Claude Paroz bbfcd9618b [1.8.x] 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.
Backport of 02260ea3f6 from master.
2015-04-17 11:01:36 +02:00
Patryk Zawadzki 9f632dc702 [1.8.x] 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.

Backport of 0385dad073 from master
2015-04-07 14:56:33 +02:00
Marten Kenbeek 773387ce42 [1.8.x] 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.

Backport of e8e4f978dd from master
2015-04-05 20:29:27 +02:00
Marten Kenbeek 651cc369ad [1.8.x] Refs #24278 -- Allowed multi-line serializations in OperationWriter.
Changed OperationWriter to support multi-line serialized values with
correct indentation.

Backport of d597174bd4 from master
2015-04-05 20:29:21 +02:00
Tim Graham 3313156d8e [1.8.x] Fixed flake8 warning. 2015-04-04 07:50:53 -04:00
Baptiste Mispelon 09188b5024 [1.8.x] Fixed #24566 -- Added support for serializing timedelta
Thanks to knbk for the report.

Backport of 30a3c2f74c from master.
2015-04-02 17:41:08 +02:00
John Giannelos e150bbd4d6 [1.8.x] Fixed #24427 -- Stopped writing migration files in dry run mode when merging.
Also added display of migration to stdout when verbosity=3.

Backport of 8758a63ddb from master
2015-03-16 19:45:55 -04:00
Matthew Wilkes 22a67d22e9 [1.8.x] 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

Backport of ae87ad005f from master
2015-03-14 15:47:10 -04:00
Markus Holtermann bff446c205 [1.8.x] Fixed #24435 -- Prevented m2m field removal and addition in migrations when changing blank
Thanks Mark Tranchant for the report and Tim Graham for the test and
review.

Backport of a9e29fae10 from master
2015-03-04 15:44:38 +01:00
Marten Kenbeek 980dfca717 [1.8.x] 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.

Backport of 78d43a5e10 from master
2015-02-23 12:55:43 +01:00
Loic Bistuer 850b2ca794 Removed zombie file again.
Refs 5355baf6c7.
2015-02-21 22:34:00 +07:00
Tim Graham 5355baf6c7 Removed an inadvertently added test directory. 2015-02-20 13:16:42 -05:00
Loic Bistuer 3a6c37fce4 [1.8.x] 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.

Conflicts:
	django/db/utils.py

Backport of bed504d70b from master
2015-02-20 21:55:50 +07:00
Marc Tamlyn c54d73ae01 [1.8.x] Fixed #24343 -- Ensure db converters are used for foreign keys.
Joint effort between myself, Josh, Anssi and Shai.

Conflicts:
	django/db/models/query.py
	tests/model_fields/models.py

Backport of 4755f8fc25 from master.
2015-02-20 11:46:57 +00:00
Shai Berger e2a3be1e4d [1.8.x] Fixed #24362: Made test run each migration operation in its own schema editor
Thanks Tim Graham for pointing out the fix.

Backport of f7d34fe from master ticket_24362
2015-02-18 22:51:06 +02:00
Marten Kenbeek 84c9b24c5a [1.8.x] 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.

Backport of 15dc8d1c9d from master
2015-02-18 19:11:51 +01:00
Tim Graham 2aa06e439a [1.8.x] Refs #24324 -- Fixed Python 2 test failures when path to Django source contains non-ASCII characters.
Backport of 307c0f299a from master
2015-02-17 19:05:31 -05:00
Markus Holtermann 906d682ba0 Fixed regression in test introduced in d538e37e1b 2015-02-16 20:38:18 +01:00
Markus Holtermann b7cf99a8c3 [1.8.x] Added tests for get_related_models_recursive
Backport of d538e37e1b from master
2015-02-16 19:38:10 +01:00
Markus Holtermann 4e9ecfee77 [1.8.x] Refs #24282 -- Added failing test case for assigning models of wrong type to FK
Thanks Jeff Singer for the test case.

Backport of 273bc4b667 from master
2015-02-16 19:37:57 +01:00
Markus Holtermann 8ca0eb2af7 [1.8.x] Refs #24264 -- Added failing test case for updating a FK when changing a PK
When the primary key column is altered, foreign keys of referencing
models must be aware of a possible data type change as well and thus
need to be re-rendered.

Thanks Tim Graham for the report.

Backport of cc22b009e0 from master
2015-02-16 19:37:51 +01:00
Claude Paroz 10ea9ef012 [1.8.x] Refs #24225 -- Added failing test case for removing a previously added field in migrations
When a related field is deleted, the related model must be updated. As
unchanged models are shared in migration states, the related model must
be re-rendered so that the change applies to a new copy of the related
model.

Thanks Henrik Heimbuerger for the report.

Backport of 58d0dd9260 from master
2015-02-16 19:37:40 +01:00
Tim Graham ba9f602708 [1.8.x] Added new "W503 line break before binary operator" warning to flake8 ignore.
Backport of d652906aeb from master
2015-02-15 20:09:13 -05:00
Markus Holtermann bd80fa6b0f [1.8.x] Fixed #24184 -- Prevented automatic soft-apply of migrations
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.

Backport of f287bec583 from master
2015-02-13 15:21:10 +01:00
Tim Graham a8b70d251d [1.8.x] Sorted imports with isort; refs #23860.
Backport of 0ed7d15563 from master
2015-02-09 14:24:06 -05:00
Collin Anderson fc8e1e0c10 [1.8.x] Fixed E265 comment style
Backport of db77915c9f from master
2015-02-06 09:35:08 -05:00
Tim Graham 3e24ab6f4c [1.8.x] Refactored tests that rely on an ImportError for Python 3.5 compatibility
A change in Python test discovery [1] causes the old packages that raised
an error to be discovered; now we use a common directory that's
ignored during discovery. Refs #23763.

[1] http://bugs.python.org/issue7559

Backport of c0cc8f69e7 from master
2015-02-03 18:31:17 -05:00
Adam Taylor 45aaced91e [1.8.x] Fixed typos in code comments.
Backport of 039465a6a7 from master
2015-01-20 12:18:29 -05:00
Markus Holtermann 5512338d4f [1.8.x] Cleaned up migration writer tests
Backport of 65d55c4093 from master
2015-01-17 20:42:58 +01:00
Tim Graham 28db4af80a Fixed #24135 -- Made RenameModel rename many-to-many tables.
Thanks Simon and Markus for reviews.
2015-01-15 20:34:33 -05:00
Collin Anderson faf0d66a80 Fixed #23850 -- Fixed a migrations test failure on Mac OS X & Python 3 2015-01-15 19:45:43 -05:00
Markus Holtermann 88786afbff Fixed #24147 -- Prevented managers leaking model during migrations
Thanks Tim Graham for the review.
2015-01-14 16:09:33 +01:00
Markus Holtermann eeb88123e7 Fixed #24129 -- Added indicator that migrations are rendering the initial state
Thanks Tim Graham for the review.
2015-01-12 19:23:46 +01:00
Markus Holtermann bbbed99f62 Fixed #24123 -- Used all available migrations to generate the initial migration state
Thanks Collin Anderson for the input when creating the patch and Tim Graham for the review.
2015-01-12 18:39:18 +01:00
Claude Paroz 68a439a18d Removed supports_binary_field flag as all backends support them
It was mainly for MySQL on Python 3, but now the current
recommended MySQL driver for Python 3 (mysqlclient) does support
binary fields, it is unneeded. Refs #20377.
2015-01-11 23:34:47 +01:00
Markus Holtermann fdc2cc9487 Fixed #24110 -- Rewrote migration unapply to preserve intermediate states 2015-01-10 23:14:15 +01:00