Jacob Walls 
							
						 
					 
					
						
						
							
						
						56f468681a 
					 
					
						
						
							
							Refs  #35038  -- Reduced CreateModel/AlterConstraint operations when optimizing migrations.  
						
						
						
						
					 
					
						2025-06-19 12:22:23 +02:00 
						 
				 
			
				
					
						
							
							
								Salvo Polizzi 
							
						 
					 
					
						
						
							
						
						b82f80906a 
					 
					
						
						
							
							Fixed   #35038  -- Created AlterConstraint operation.  
						
						
						
						
					 
					
						2024-11-28 17:40:52 +01:00 
						 
				 
			
				
					
						
							
							
								Adam Johnson 
							
						 
					 
					
						
						
							
						
						f5ddd54986 
					 
					
						
						
							
							Fixed   #35704  -- Fixed reduction for AddIndex subclasses.  
						
						
						
						
					 
					
						2024-09-03 12:51:06 +02:00 
						 
				 
			
				
					
						
							
							
								Adam Johnson 
							
						 
					 
					
						
						
							
						
						20d44abb41 
					 
					
						
						
							
							Fixed   #35700  -- Added AlterModelTable and AlterModelTableComment reductions.  
						
						
						
						
					 
					
						2024-08-30 18:50:12 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						daf7d482db 
					 
					
						
						
							
							Refs  #35234  -- Deprecated CheckConstraint.check in favor of .condition.  
						
						... 
						
						
						
						Once the deprecation period ends CheckConstraint.check() can become the
documented method that performs system checks for BaseConstraint
subclasses. 
						
						
					 
					
						2024-03-01 07:15:32 +01:00 
						 
				 
			
				
					
						
							
							
								Ben Cail 
							
						 
					 
					
						
						
							
						
						8b7ddd1b62 
					 
					
						
						
							
							Refs  #34534  -- Reduced constraint operations with Meta.constraints when optimizing migrations.  
						
						
						
						
					 
					
						2024-02-09 07:02:52 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						2abf417c81 
					 
					
						
						
							
							Refs  #27236  -- Removed Meta.index_together per deprecation timeline.  
						
						
						
						
					 
					
						2023-09-18 22:12:40 +02:00 
						 
				 
			
				
					
						
							
							
								Akash Kumar Sen 
							
						 
					 
					
						
						
							
						
						92f0017133 
					 
					
						
						
							
							Refs  #34534  -- Reduced Add/RemoveConstraint and Add/RenameIndex operations when optimizing migrations.  
						
						
						
						
					 
					
						2023-05-09 12:45:09 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						8e2460d599 
					 
					
						
						
							
							Fixed   #34529 , Refs  #34525  -- Reduced index operations with Meta.indexes/index_together when optimizing migrations.  
						
						... 
						
						
						
						This makes squashing migrations an available path for changing
Meta.index_together, which is deprecated, to Meta.indexes.
Follow up to f810325721 
						
						
					 
					
						2023-05-03 13:06:19 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						191f6a9a45 
					 
					
						
						
							
							Fixed   #34528  -- Reduced Add/RemoveIndex operations when optimizing migrations.  
						
						
						
						
					 
					
						2023-05-01 18:57:24 +02:00 
						 
				 
			
				
					
						
							
							
								Laurent Tramoy 
							
						 
					 
					
						
						
							
						
						2276ec8c21 
					 
					
						
						
							
							Fixed   #34366  -- Reduced AlterField operations when optimizing migrations.  
						
						
						
						
					 
					
						2023-02-24 13:59:42 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						c773d5794e 
					 
					
						
						
							
							Refs  #27236  -- Reverted AlterIndexTogether deprecation.  
						
						... 
						
						
						
						This partly reverts a6385b382e 
						
						
					 
					
						2022-07-26 11:41:19 +02:00 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						a6385b382e 
					 
					
						
						
							
							Fixed   #27236  -- Deprecated Meta.index_together in favor of Meta.indexes.  
						
						... 
						
						
						
						This also deprecates AlterIndexTogether migration operation. 
						
						
					 
					
						2022-07-12 09:04:31 +02:00 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						eacd4977f6 
					 
					
						
						
							
							Refs  #27064  -- Added RenameIndex migration operation.  
						
						
						
						
					 
					
						2022-05-12 20:44:03 +02:00 
						 
				 
			
				
					
						
							
							
								Adam Johnson 
							
						 
					 
					
						
						
							
						
						8f7cda0831 
					 
					
						
						
							
							Fixed   #33572  -- Implemented CreateModel/AlterModelManagers reduction.  
						
						
						
						
					 
					
						2022-03-11 07:03:51 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						7119f40c98 
					 
					
						
						
							
							Refs  #33476  -- Refactored code to strictly match 88 characters line length.  
						
						
						
						
					 
					
						2022-02-07 20:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								django-bot 
							
						 
					 
					
						
						
							
						
						9c19aff7c7 
					 
					
						
						
							
							Refs  #33476  -- Reformatted code with Black.  
						
						
						
						
					 
					
						2022-02-07 20:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						7c18b22e2f 
					 
					
						
						
							
							Fixed   #32256  -- Fixed migration optimization crash when swapping field names.  
						
						... 
						
						
						
						This disables optimization of RenameField operation when an old field
name is referenced in subsequent operations.
Co-authored-by: InvalidInterrupt <InvalidInterrupt@users.noreply.github.com > 
						
						
					 
					
						2021-02-19 11:19:01 +01:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						8d582bf510 
					 
					
						
						
							
							Fixed   #32262  -- Fixed migration optimization for model creation and Meta options removal.  
						
						
						
						
					 
					
						2020-12-18 06:57:57 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						25bf15c0da 
					 
					
						
						
							
							Refs  #22608  -- Made app_label required when optimizing migrations.  
						
						... 
						
						
						
						This paved the way for the removal of lot of logic when app_label was
not specified. 
						
						
					 
					
						2020-04-09 10:08:02 +02:00 
						 
				 
			
				
					
						
							
							
								Vytis Banaitis 
							
						 
					 
					
						
						
							
						
						d02b2aa11e 
					 
					
						
						
							
							Made assertOptimizesTo() more strict in migrations tests.  
						
						... 
						
						
						
						A recursive deconstruction is needed because comparing deconstructed
operations doesn't check field attributes. Fixed typo in failing test. 
						
						
					 
					
						2019-01-21 17:29:46 -05: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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						e4c0878b30 
					 
					
						
						
							
							Refs  #22875  -- Fixed an optimizer test to use a valid scenario.  
						
						... 
						
						
						
						An explicit intermediary many-to-many relationship must declare forward and
reverse foreign keys. The original issue was in the autodetector as these
operations shouldn't have been generated in this order in the first place
which is tested by AutodetectorTests.test_create_with_through_model. 
						
						
					 
					
						2018-07-10 16:47:57 -04:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						83a36ac49a 
					 
					
						
						
							
							Removed unnecessary trailing commas and spaces in various code.  
						
						
						
						
					 
					
						2017-12-28 21:07:29 +01:00 
						 
				 
			
				
					
						
							
							
								Ed Morley 
							
						 
					 
					
						
						
							
						
						bfd42392ab 
					 
					
						
						
							
							Simplified tests with assertDoesNotOptimize().  
						
						
						
						
					 
					
						2017-01-25 13:52:44 -05:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						d7b9aaa366 
					 
					
						
						
							
							Refs  #23919  -- Removed encoding preambles and future imports  
						
						
						
						
					 
					
						2017-01-18 09:55:19 +01:00 
						 
				 
			
				
					
						
							
							
								Ed Morley 
							
						 
					 
					
						
						
							
						
						7156a6c9c4 
					 
					
						
						
							
							Fixed   #27717  -- Allowed migration optimization across AlterModelOptions.  
						
						
						
						
					 
					
						2017-01-10 18:38:48 -05:00 
						 
				 
			
				
					
						
							
							
								za 
							
						 
					 
					
						
						
							
						
						321e94fa41 
					 
					
						
						
							
							Refs  #27392  -- Removed "Tests that", "Ensures that", etc. from test docstrings.  
						
						
						
						
					 
					
						2016-11-10 21:30:21 -05:00 
						 
				 
			
				
					
						
							
							
								Sergey Fedoseev 
							
						 
					 
					
						
						
							
						
						7fc4c1db62 
					 
					
						
						
							
							Fixed   #26710  -- Made CreateModel.references_model() take app_label into account.  
						
						
						
						
					 
					
						2016-06-06 11:49:45 -04:00 
						 
				 
			
				
					
						
							
							
								James Robert 
							
						 
					 
					
						
						
							
						
						417e083e55 
					 
					
						
						
							
							Fixed   #26521  -- Validated CreateModel bases, fields and managers for duplicates.  
						
						
						
						
					 
					
						2016-04-27 12:43:56 -04: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 
						 
				 
			
				
					
						
							
							
								Dražen Odobašić 
							
						 
					 
					
						
						
							
						
						b1e33ceced 
					 
					
						
						
							
							Fixed   #23395  -- Limited line lengths to 119 characters.  
						
						
						
						
					 
					
						2015-09-12 11:40:50 -04:00 
						 
				 
			
				
					
						
							
							
								Flavio Curella 
							
						 
					 
					
						
						
							
						
						c2e70f0265 
					 
					
						
						
							
							Fixed   #21127  -- Started deprecation toward requiring on_delete for ForeignKey/OneToOneField  
						
						
						
						
					 
					
						2015-07-27 18:28:13 -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 
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						be67400b47 
					 
					
						
						
							
							Refs  #24652  -- Used SimpleTestCase where appropriate.  
						
						
						
						
					 
					
						2015-05-20 13:46:13 -04:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						0ed7d15563 
					 
					
						
						
							
							Sorted imports with isort; refs  #23860 .  
						
						
						
						
					 
					
						2015-02-06 08:16:28 -05:00 
						 
				 
			
				
					
						
							
							
								Markus Holtermann 
							
						 
					 
					
						
						
							
						
						1f03d2d924 
					 
					
						
						
							
							Refs  #23822  -- Made MigrationOptimizer aware of model managers  
						
						
						
						
					 
					
						2015-01-07 17:33:04 -05:00 
						 
				 
			
				
					
						
							
							
								Patryk Zawadzki 
							
						 
					 
					
						
						
							
						
						21e21c7bc2 
					 
					
						
						
							
							Fixed   #23844  -- Used topological sort for migration operation dependency resolution.  
						
						... 
						
						
						
						This removes the concept of equality between operations to guarantee
compatilibity with Python 3.
Python 3 requires equality to result in identical object hashes. It's
impossible to implement a unique hash that preserves equality as
operations such as field creation depend on being able to accept
arbitrary dicts that cannot be hashed reliably.
Thanks Klaas van Schelven for the original patch in
13d613f800 
						
						
					 
					
						2014-11-20 12:49:49 -05:00 
						 
				 
			
				
					
						
							
							
								Andrew Godwin 
							
						 
					 
					
						
						
							
						
						b30d32ff24 
					 
					
						
						
							
							Fixed   #22875 : Optimizer did not take through= into account.  
						
						
						
						
					 
					
						2014-06-22 11:23:45 -07:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						e520a73eee 
					 
					
						
						
							
							Harmonized some PEP 0263 coding preambles  
						
						
						
						
					 
					
						2014-05-15 19:58:41 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Gaynor 
							
						 
					 
					
						
						
							
						
						e5b7045422 
					 
					
						
						
							
							flake8 fixes  
						
						
						
						
					 
					
						2013-11-06 20:00:48 -08:00 
						 
				 
			
				
					
						
							
							
								Andrew Godwin 
							
						 
					 
					
						
						
							
						
						106b019dc9 
					 
					
						
						
							
							Massive migration optimiser improvements + RenameModel opn  
						
						
						
						
					 
					
						2013-11-06 13:47:58 +00:00 
						 
				 
			
				
					
						
							
							
								Alex Gaynor 
							
						 
					 
					
						
						
							
						
						f67e18f39e 
					 
					
						
						
							
							Fixed all E251 violations  
						
						
						
						
					 
					
						2013-11-03 10:17:58 -08:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						36ded01527 
					 
					
						
						
							
							Fixed   #21302  -- Fixed unused imports and import *.  
						
						
						
						
					 
					
						2013-11-02 15:24:56 -04:00