From 6436a10d5a0f5c62114d0e30ef24a7faf4ce6e3e Mon Sep 17 00:00:00 2001 From: Marti Raudsepp Date: Wed, 8 Dec 2021 14:11:35 +0200 Subject: [PATCH] Add more precise RunSQL, RunPython migration hints (#768) --- .../db/migrations/operations/special.pyi | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/django-stubs/db/migrations/operations/special.pyi b/django-stubs/db/migrations/operations/special.pyi index 323a32c..c13b5f7 100644 --- a/django-stubs/db/migrations/operations/special.pyi +++ b/django-stubs/db/migrations/operations/special.pyi @@ -1,4 +1,4 @@ -from typing import Any, Callable, Dict, Optional, Sequence +from typing import Any, Callable, Dict, List, Literal, Mapping, Optional, Sequence, Tuple, Union from django.db.backends.base.schema import BaseDatabaseSchemaEditor from django.db.migrations.state import StateApps @@ -13,28 +13,28 @@ class SeparateDatabaseAndState(Operation): ) -> None: ... class RunSQL(Operation): - noop: str = ... - sql: Any = ... - reverse_sql: Any = ... - state_operations: Any = ... - hints: Any = ... + noop: Literal[""] = ... + sql: Union[str, List[str], Tuple[str, ...]] = ... + reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ... + state_operations: Sequence[Operation] = ... + hints: Mapping[str, Any] = ... def __init__( self, - sql: Any, - reverse_sql: Optional[Any] = ..., - state_operations: Optional[Any] = ..., - hints: Optional[Any] = ..., + sql: Union[str, List[str], Tuple[str, ...]], + reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ..., + state_operations: Sequence[Operation] = ..., + hints: Optional[Mapping[str, Any]] = ..., elidable: bool = ..., ) -> None: ... class RunPython(Operation): - code: Callable = ... - reverse_code: Optional[Callable] = ... + code: Callable[[StateApps, BaseDatabaseSchemaEditor], None] = ... + reverse_code: Optional[Callable[[StateApps, BaseDatabaseSchemaEditor], None]] = ... hints: Optional[Dict[str, Any]] = ... def __init__( self, - code: Callable, - reverse_code: Optional[Callable] = ..., + code: Callable[[StateApps, BaseDatabaseSchemaEditor], None], + reverse_code: Optional[Callable[[StateApps, BaseDatabaseSchemaEditor], None]] = ..., atomic: Optional[bool] = ..., hints: Optional[Dict[str, Any]] = ..., elidable: bool = ...,