summaryrefslogtreecommitdiff
path: root/docs/topics
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-07-20 07:34:21 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-07-26 11:41:19 +0200
commita1e9e9abc592b8f44fa798c6e4e225b1a04f757c (patch)
tree7c0713759aa50f55b639433675015e385c434e04 /docs/topics
parentc773d5794eb425c4836c726bdf6e1e742c94e9c0 (diff)
Refs #27236 -- Reverted "Refs #27236 -- Added generic mechanism to handle the deprecation of migration operations."
This reverts commit 41019e48bbf082c985e6ba3bad34d118b903bff1.
Diffstat (limited to 'docs/topics')
-rw-r--r--docs/topics/checks.txt20
-rw-r--r--docs/topics/migrations.txt50
2 files changed, 8 insertions, 62 deletions
diff --git a/docs/topics/checks.txt b/docs/topics/checks.txt
index 0864d6db38..9586466285 100644
--- a/docs/topics/checks.txt
+++ b/docs/topics/checks.txt
@@ -128,18 +128,18 @@ The code below is equivalent to the code above::
.. _field-checking:
-Field, model, manager, migration, and database checks
------------------------------------------------------
+Field, model, manager, and database checks
+------------------------------------------
In some cases, you won't need to register your check function -- you can
piggyback on an existing registration.
-Fields, models, model managers, migrations, and database backends all implement
-a ``check()`` method that is already registered with the check framework. If
-you want to add extra checks, you can extend the implementation on the base
-class, perform any extra checks you need, and append any messages to those
-generated by the base class. It's recommended that you delegate each check to
-separate methods.
+Fields, models, model managers, and database backends all implement a
+``check()`` method that is already registered with the check framework. If you
+want to add extra checks, you can extend the implementation on the base class,
+perform any extra checks you need, and append any messages to those generated
+by the base class. It's recommended that you delegate each check to separate
+methods.
Consider an example where you are implementing a custom field named
``RangedIntegerField``. This field adds ``min`` and ``max`` arguments to the
@@ -194,10 +194,6 @@ the only difference is that the check is a classmethod, not an instance method::
# ... your own checks ...
return errors
-.. versionchanged:: 4.2
-
- Migration checks were added.
-
Writing tests
-------------
diff --git a/docs/topics/migrations.txt b/docs/topics/migrations.txt
index 2350ac756c..cf3451a782 100644
--- a/docs/topics/migrations.txt
+++ b/docs/topics/migrations.txt
@@ -503,56 +503,6 @@ database migrations such as ``__init__()``, ``deconstruct()``, and
which reference the field exist. For example, after squashing migrations and
removing the old ones, you should be able to remove the field completely.
-.. _migrations-removing-operation:
-
-Considerations when removing migration operations
-=================================================
-
-.. versionadded:: 4.2
-
-Removing custom operations from your project or third-party app will cause a
-problem if they are referenced in old migrations.
-
-To help with this situation, Django provides some operation attributes to
-assist with operation deprecation using the :doc:`system checks framework
-</topics/checks>`.
-
-Add the ``system_check_deprecated_details`` attribute to your operation similar
-to the following::
-
- class MyCustomOperation(Operation):
- system_check_deprecated_details = {
- "msg": (
- "MyCustomOperation has been deprecated. Support for it "
- "(except in historical migrations) will be removed in "
- "Django 5.1."
- ),
- "hint": "Use DifferentOperation instead.", # optional
- "id": "migrations.W900", # pick a unique ID for your operation.
- }
-
-After a deprecation period of your choosing (two or three feature releases for
-operations in Django itself), change the ``system_check_deprecated_details``
-attribute to ``system_check_removed_details`` and update the dictionary similar
-to::
-
- class MyCustomOperation(Operation):
- system_check_removed_details = {
- "msg": (
- "MyCustomOperation has been removed except for support in "
- "historical migrations."
- ),
- "hint': "Use DifferentOperation instead.",
- "id": "migrations.E900", # pick a unique ID for your operation.
- }
-
-You should keep the operation's methods that are required for it to operate in
-database migrations such as ``__init__()``, ``state_forwards()``,
-``database_forwards()``, and ``database_backwards()``. Keep this stub operation
-for as long as any migrations which reference the operation exist. For example,
-after squashing migrations and removing the old ones, you should be able to
-remove the operation completely.
-
.. _data-migrations:
Data Migrations