Mariusz Felisiak
91a4b9a8ec
Fixed #35422 -- Fixed migrations crash when altering GeneratedField referencing rename field.
...
Thanks Sarah Boyce for the report and Simon Charette for the
implementation idea.
2024-05-03 09:28:24 +02:00
DevilsAutumn
9aeb38c296
Fixed #35359 -- Fixed migration operations ordering when adding fields referenced by GeneratedField.expression.
...
Thank you to Simon Charette for the review.
2024-05-02 21:43:13 -03:00
Mariusz Felisiak
a2dcc4ecbb
Increased test coverage for django.db.migrations.operations.special.
2024-03-25 08:31:32 +01:00
Mariusz Felisiak
1c11dba835
Added ModelState.from_model() test for abstract model with unnamed indexes.
2024-03-22 13:31:33 +01:00
Ben Cail
593067a8ee
Fixed #28541 -- Fixed migrations crash when changing primary key on SQLite.
2024-03-14 20:56:43 +01: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
Moein Bbp
cf107fe255
Fixed #35122 -- Made migrate --prune option respect --app_label.
2024-02-13 14:47:49 +01:00
David Sanders
06264258dc
Fixed #35175 -- Made migraton writer preserve keyword-only arguments.
...
Thanks Gerald Goh for the report.
2024-02-09 09:37:13 +01:00
Ben Cail
8b7ddd1b62
Refs #34534 -- Reduced constraint operations with Meta.constraints when optimizing migrations.
2024-02-09 07:02:52 +01:00
Simon Charette
e67d7d70fa
Fixed #35149 -- Fixed crashes of db_default with unresolvable output field.
...
Field.db_default accepts either literal Python values or compilables
(as_sql) and wrap the former ones in Value internally.
While 1e38f11
added support for automatic resolving of output fields for
types such as str, int, float, and other unambigous ones it's cannot do
so for all types such as dict or even contrib.postgres and contrib.gis
primitives.
When a literal, non-compilable, value is provided it likely make the
most sense to bind its output field to the field its attached to avoid
forcing the user to provide an explicit `Value(output_field)`.
Thanks David Sanders for the report.
2024-02-04 09:39:41 +01:00
Mariusz Felisiak
305757aec1
Applied Black's 2024 stable style.
...
https://github.com/psf/black/releases/tag/24.1.0
2024-01-26 12:45:07 +01:00
Amir Karimi
27a3eee721
Fixed #31700 -- Made makemigrations command display meaningful symbols for each operation.
2024-01-17 14:00:02 +01:00
David Wobrock
7045661069
Fixed #35022 -- Fixed RenameIndex() crash on unnamed indexes if exists unique constraint on the same fields.
2023-12-22 12:47:17 +01:00
Prashant Pandey
a8adb6aa6c
Fixed #26827 -- Improved ModelState error message when relations refer model classes.
2023-11-23 21:17:44 +01:00
Sarah Boyce
828082dad9
Fixed #34984 -- Skipped GeneratedFields when remaking tables on SQLite.
...
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.t
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
2023-11-22 12:29:14 +01:00
Mariusz Felisiak
5875f03ce6
Fixed #34944 -- Made GeneratedField.output_field required.
...
Regression in f333e3513e
.
2023-11-14 20:22:07 +01:00
Adam Johnson
f7389c4b07
Fixed #34457 -- Restored output for makemigrations --check.
...
Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com>
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2023-11-09 10:03:19 -03:00
Simon Charette
8a28e983df
Fixed #34946 -- Preserved db_default on combined default field addition.
...
Regression in 7414704e88
.
2023-11-07 13:32:34 +03:00
David Sanders
1944f490f9
Refs #34936 -- Added test for altering DecimalField with db_default to non-nullable.
2023-11-02 17:57:34 +01:00
Mariusz Felisiak
2abf417c81
Refs #27236 -- Removed Meta.index_together per deprecation timeline.
2023-09-18 22:12:40 +02:00
Natalia
691f70c477
Fixed #24561 -- Added support for callables on model fields' choices.
2023-09-14 10:15:33 -03:00
Nick Pope
f92e68c30a
Fixed #34822 -- Added support for serializing functions decorated with functools.lru_cache in migrations.
...
`@functools.cache` and `@functools.lru_cache` return an object of type
`functools._lru_cache_wrapper` which prevented the migrations serializer from
working. Simply using the existing `FunctionTypeSerializer` for this additional
type works as expected.
2023-09-13 15:57:18 -03:00
Nick Pope
c131949e3e
Refs #34822 -- Added tests for serializing decorated functions in migrations.
...
Functions decorated with a decorator that is properly wrapped, e.g. by
using `@functools.wraps`, are already supported.
2023-09-13 15:39:56 -03:00
donghao
938170008e
Fixed #34824 -- Prevented unnecessary AlterField when ForeignObject.from_fields/to_fields is not a tuple.
2023-09-11 08:46:43 +02:00
donghao
71820c9f91
Fixed #34820 -- Fixed migrations crash when changing a ForeignObject field.
2023-09-09 22:15:14 +02:00
Jeremy Nauta
f333e3513e
Fixed #31300 -- Added GeneratedField model field.
...
Thanks Adam Johnson and Paolo Melchiorre for reviews.
Co-Authored-By: Lily Foote <code@lilyf.org>
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-07 06:19:08 +02:00
Nick Pope
500e01073a
Fixed #31262 -- Added support for mappings on model fields and ChoiceField's choices.
2023-08-30 22:57:40 -03:00
David Sanders
76c3e310dd
Fixed #34744 -- Prevented recreation of migration for constraints with a dict_keys.
...
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-23 11:42:18 +02:00
Mariusz Felisiak
2b582387d5
Fixed #34760 -- Dropped support for SQLite < 3.27.
2023-08-04 06:35:13 +02:00
devilsautumn
f05cc5e3d2
Refs #24686 -- Made AlterField operation a noop when renaming related model with db_table.
2023-07-22 20:13:42 +02:00
Mariusz Felisiak
3109038992
Refs #33201 -- Avoided unnecessary queries when renaming models with db_table on SpatiaLite.
2023-07-18 14:08:47 +02:00
Nicolò Intrieri
e8252fc445
Fixed #34716 -- Fixed serialization of nested class methods in migrations.
...
Co-authored-by: Nicolò <nicolo.intrieri@spinforward.it>
2023-07-18 05:27:40 +02:00
Yury V. Zaytsev
02966a30dd
Fixed #34697 -- Fixed non-deterministic order of dependencies and sets/frozensets in migrations.
...
Co-authored-by: Dakota Hawkins <dakotahawkins@gmail.com>
2023-07-12 12:33:23 +02:00
Mariusz Felisiak
21e6864715
Fixed RecorderTests.test_has_table_cached() on databases that perform multiple queries when introspecting tables.
...
Thanks Tim Graham for the report and implementation idea.
Follow up to ea8cbca579
.
2023-06-28 12:11:25 +02:00
Tom Forbes
ea8cbca579
Made MigrationRecorder cache has_table() result if django_migrations table exists.
2023-05-25 13:18:02 +02:00
Mariusz Felisiak
c52f4295f2
Fixed #34568 -- Made makemigrations --update respect --name option.
...
Thanks David Sanders for the report.
2023-05-17 13:14:43 +02:00
Ian Foote
7414704e88
Fixed #470 -- Added support for database defaults on fields.
...
Special thanks to Hannes Ljungberg for finding multiple implementation
gaps.
Thanks also to Simon Charette, Adam Johnson, and Mariusz Felisiak for
reviews.
2023-05-12 19:11:40 +02:00
Simon Charette
ffff17d4b0
Fixed #34553 -- Fixed improper % escaping of literal in constraints.
...
Proper escaping of % in string literals used when defining constaints
was attempted (a8b3f96f6
) by overriding quote_value of Postgres and
Oracle schema editor. The same approach was used when adding support for
constraints to the MySQL/MariaDB backend (1fc2c70
).
Later on it was discovered that this approach was not appropriate and
that a preferable one was to pass params=None when executing the
constraint creation DDL to avoid any form of interpolation in the first
place (42e8cf47
).
When the second patch was applied the corrective of the first were not
removed which caused % literals to be unnecessary doubled. This flew
under the radar because the existings test were crafted in a way that
consecutive %% didn't catch regressions.
This commit introduces an extra test for __exact lookups which
highlights more adequately % doubling problems but also adjust a
previous __endswith test to cover % doubling problems (%\% -> %%\%%).
Thanks Thomas Kolar for the report.
Refs #32369 , #30408 , #30593 .
2023-05-10 17:25:57 +02:00
Simon Charette
e0f8104a96
Refs #34553 -- Split constraint escaping test in subtests.
...
This ensures that constraint violations are tested in isolation from
each other as an IntegrityError only ensures a least one constraint is
violated.
For example, the assertion added in 42e8cf4
break both the
name_constraint_rhs and the rebate_constraint constraints and thus
doesn't constitute a proper regression test. Refs #32369 .
2023-05-10 17:25:57 +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
T. Franzel
a2eaea8f22
Fixed #34388 -- Allowed using choice enumeration types directly on model and form fields.
2023-03-21 19:44:41 +01:00
Andy Chosak
b295b31171
Fixed #34420 -- Corrected the order of imports in generated migration files.
2023-03-20 06:23:08 +01:00
Durval Carvalho
4b1bfea284
Fixed #34333 -- Fixed migration operations ordering when adding index/constraint on new foreign key.
...
Thanks Simon Charette and David Wobrock for reviews.
2023-03-10 07:05:11 +01:00
Mariusz Felisiak
61f599aeb9
Refs #34381 -- Fixed isolation of MigrateTests.test_migrate_fake_initial().
2023-03-04 13:09:38 +01:00
Laurent Tramoy
2276ec8c21
Fixed #34366 -- Reduced AlterField operations when optimizing migrations.
2023-02-24 13:59:42 +01:00
Mariusz Felisiak
16c966ff7f
Refs #30060 , Refs #34217 -- Made SchemaEditor not generate SQL for CheckConstraint if not supported.
...
The new logic mirrors the logic in SchemaEditor._delete_check_sql()
added in 68ef274bc5
.
Thanks Tim Graham for the report.
2023-02-23 21:12:17 +01:00
Marcelo Galigniana
f608e6a157
Completed test coverage for django.db.migrations.graph.
2023-02-15 07:40:19 +01:00
DevilsAutumn
ff3a283422
Fixed #34250 -- Fixed renaming model with m2m relation to a model with the same name.
2023-02-14 14:08:06 +01:00