Simon Charette
d8e03fdeb9
Fixed #29897 -- Fixed autodetector's swappable MTI dependency resolution.
...
Thanks Steven Ganz for the detailed report.
2018-10-29 11:24:30 -04:00
Simon Charette
82353ef940
Refs #29897 -- Moved autodetector swappable dependency resolution to a method.
2018-10-29 11:17:21 -04:00
Simon Charette
f1855fd885
Refs #23322 -- Removed unnecessary "and" clause in the autodetector.
...
If the depedency was swappable then it'll be resolved at this point.
2018-10-29 11:07:07 -04:00
Simon Charette
95bda03f2d
Fixed #29868 -- Retained database constraints on SQLite table rebuilds.
...
Refs #11964 .
Thanks Scott Stevens for testing this upcoming feature and the report.
2018-10-29 10:33:41 +01:00
Sanyam Khurana
c86a3d80a2
Fixed #29721 -- Ensured migrations are applied and recorded atomically.
2018-10-24 19:29:11 -04:00
Patrik Sletmo
adfdb9f169
Fixed #29814 -- Added support for NoneType serialization in migrations.
2018-10-11 09:02:14 -04:00
Jon Dufresne
e90af8bad4
Capitalized "Python" in docs and comments.
2018-10-09 09:26:07 -04:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Jon Dufresne
82f286cf6f
Refs #29784 -- Switched to https:// links where available.
2018-09-26 08:48:47 +02:00
Simon Charette
a4495f4b98
Fixed #29755 -- Made migrations detect changes to Meta.default_related_name.
2018-09-14 09:09:17 -04:00
Tim Graham
32fbccab40
Fixed #29749 -- Made the migrations loader ignore files starting with a tilde or underscore.
...
Regression in 29150d5da8
.
2018-09-11 12:51:11 -04:00
Krzysztof Gogolewski
db926a0048
Fixed #29243 -- Improved efficiency of migration graph algorithm.
2018-09-10 09:57:31 -04:00
luz.paz
97e637a87f
Fixed typos in comments and docs.
2018-08-01 16:09:22 -04:00
Tim Graham
c72dde41e6
Fixed #29595 -- Allowed using timedelta in migrations questioner.
...
Refs #29600 -- Removed usage of django.utils.datetime_safe in migrations.
2018-07-27 11:53:49 -04:00
Simon Charette
1e9b02a4c2
Refs #28862 -- Removed the FieldRelatedOptionOperation.reduce() optimization.
...
It isn't required anymore since AlterTogetherOperations can be reduced into
CreateModels which can reduce DeleteField operations.
2018-07-19 17:42:18 -04:00
Simon Charette
fc16015de4
Fixed #26906 -- Reduced alter together operations code duplication.
...
Thanks Akshesh Doshi for the initial patch.
2018-07-19 17:06:01 -04:00
Simon Charette
8e3f22f251
Fixed #27731 -- Implemented CreateModel/AlterFooOperation reduction.
...
This should alleviate the side effects of disabling the AlterFooOperation
reduction with RemoveField to fix refs #28862 during migration squashing
because CreateModel can perform a reduction with RemoveField.
Thanks Nick Pope for the review.
2018-07-19 17:06:01 -04:00
Simon Charette
ed7898e1b5
Fixed #28862 -- Disabled optimization of AlterFooTogether and RemoveField.
...
AlterFooTogether operations cannot be swapped with RemoveField operations on
the same model as they could be removing the the same field as well.
Since AlterFooTogether operations don't track what their previous value was,
it's impossible to determine whether or not the optimization is safe so the
only way to proceed is to disable the optimization.
Thanks Ramiro Morales for the in-depth analysis of the issue.
Refs #24828
2018-07-19 17:06:01 -04:00
Simon Charette
8a03445885
Removed in_between from Operation.reduce()'s signature.
...
It isn't used since FieldOperation.references_model() takes into
account models referenced by the field it's operating on.
2018-07-11 10:49:50 -04:00
Simon Charette
37cafbfb79
Fixed #27845 -- Allowed both right and left optimizations of operations.
...
Thanks Raphael Gaschignard for the suggestion.
2018-07-11 10:49:50 -04:00
Simon Charette
0025dd5eb4
Allowed RemoveField operations to be optimized through.
2018-07-11 10:49:50 -04:00
Simon Charette
50b8c98a0f
Relaxed FieldOperation.references_field remote field checking.
2018-07-11 10:49:50 -04:00
Simon Charette
013bcf57d5
Introduced ModelTuple to remove migrations boilerplate.
2018-07-11 10:49:50 -04:00
Simon Charette
ad82900ad9
Fixed #26720 -- Prevented invalid CreateModel optimizations of related fields.
2018-07-11 10:49:50 -04:00
Simon Charette
a97845a823
Fixed #27768 -- Allowed migration optimization of CreateModel order.
...
Thanks Ed Morley from Mozilla for the tests.
2018-07-11 10:49:50 -04:00
Simon Charette
d3a935f01f
Refs #27768 -- Reversed order of optimized and in-between operations.
...
Operations can only be optimized through if they don't reference any of the
state the operation they are compared against defines or alters, so it's
safe to reverse the order.
2018-07-11 10:49:50 -04:00
Ian Foote
952f05a6db
Fixed #11964 -- Added support for database check constraints.
2018-07-10 15:32:33 -04:00
Tim Graham
2ec151e35d
Fixed #29514 -- Reverted "Used datetime.timezone.utc instead of pytz.utc for better performance."
...
This reverts commit 27ca5ce19f
due to a
regression.
2018-06-28 11:14:26 -04:00
Jeff
fcc4e251db
Fixed #29000 -- Fixed RenameModel's renaming of a M2M column when run after RenameField.
...
Regression in 45ded053b1
.
2018-06-15 11:51:09 -04:00
Sanket Saurav
079f324357
Fixed #28913 -- Fixed error handling when MIGRATIONS_MODULES specifies a nonexistent top-level package.
2018-05-05 18:26:33 -04:00
Simon Charette
2156565b5b
Fixed #29245 -- Made autodetector treat field renames + db_column addition as RenameField.
2018-03-28 12:43:43 -04:00
Dan Watson
29150d5da8
Fixed #23406 -- Allowed migrations to be loaded from .pyc files.
2018-03-23 13:20:38 -04:00
Sergey Fedoseev
27ca5ce19f
Used datetime.timezone.utc instead of pytz.utc for better performance.
2018-03-20 15:24:16 -04:00
Carlton Gibson
5b083a824e
Fixed #29180 -- Fixed a regression where migrations already in the plan were readded.
...
Regression in a38ae914d8
.
2018-03-09 08:59:57 +01:00
Carlton Gibson
4d420a53cf
Refs #29180 -- Added MigrationGraph._generate_plan() for testing.
2018-03-09 08:59:57 +01:00
Tim Graham
0f0a07ac27
Refs #28814 -- Fixed migrations crash with namespace packages on Python 3.7.
...
Due to https://bugs.python.org/issue32303 .
2018-02-05 13:29:32 -05:00
Raymond Hettinger
aba9763b51
Refs #28814 -- Imported from collections.abc to fix Python 3.7 deprecation warnings.
...
https://bugs.python.org/issue25988
2018-02-05 11:42:47 -05:00
Tim Graham
0a37ea56d0
Fixed #29091 -- Fixed makemigrations crash if migrations directory doesn't have __init__.py.
...
Regression in aadd3aeb2b
.
2018-01-31 09:36:36 -05:00
Дилян Палаузов
a38ae914d8
Fixed #28996 -- Simplified some boolean constructs and removed trivial continue statements.
2018-01-12 12:44:50 -05:00
Tim Graham
acc8dd4142
Fixed #28984 -- Made assorted code simplifications.
2018-01-03 13:24:02 -05:00
Simon Charette
dcdd219ee1
Fixed #25817 -- Made RenameField repoint to_field/to_fields references.
...
Also updated the autodetector to assume the RenameField operation will
perform the required repointing.
2017-12-30 14:59:22 -05:00
Simon Charette
2faeb21d2f
Moved _get_model_tuple() to the base Operation class.
...
This allows field and special operations to use this logic.
2017-12-30 14:50:43 -05:00
Mariusz Felisiak
83a36ac49a
Removed unnecessary trailing commas and spaces in various code.
2017-12-28 21:07:29 +01:00
Nick Pope
d13a9e44de
Fixed #28909 -- Simplified code using tuple/list/set/dict unpacking.
2017-12-11 07:08:45 -05:00
Tim Graham
a862af3839
Fixed #28893 -- Removed unnecessary dict.items() calls.
2017-12-06 17:17:59 -05:00
Sergey Fedoseev
183fb7b2b9
Fixed #28870 -- Added support for functools.partialmethod serialization in migrations.
2017-12-06 14:49:37 -05:00
Дилян Палаузов
d2afa5eb23
Fixed #28860 -- Removed unnecessary len() calls.
2017-12-04 10:35:23 -05:00
Tim Graham
c3e0adcad8
Fixed #28305 -- Fixed "Cannot change column 'x': used in a foreign key constraint" crash on MySQL with a sequence of AlterField or RenameField operations.
...
Regression in 45ded053b1
.
2017-12-01 19:07:46 -05:00
Jon Dufresne
7a6fbf36b1
Fixed #28853 -- Updated connection.cursor() uses to use a context manager.
2017-11-28 11:28:09 -05:00
Дилян Палаузов
23bf4ad87f
Fixed #28795 -- Removed 'not in' checks and used dict.setdefault().
2017-11-14 10:52:52 -05:00