Add more precise RunSQL, RunPython migration hints (#768)

This commit is contained in:
Marti Raudsepp authored and GitHub committed 2021-12-08 15:11:35 +03:00
1 parent 79d34d6f46
commit 6436a10d5a
1 file changed
+14 -14
@@ -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.backends.base.schema import BaseDatabaseSchemaEditor
from django.db.migrations.state import StateApps from django.db.migrations.state import StateApps
@@ -13,28 +13,28 @@ class SeparateDatabaseAndState(Operation):
) -> None: ... ) -> None: ...
class RunSQL(Operation): class RunSQL(Operation):
noop: str = ... noop: Literal[""] = ...
sql: Any = ... sql: Union[str, List[str], Tuple[str, ...]] = ...
reverse_sql: Any = ... reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ...
state_operations: Any = ... state_operations: Sequence[Operation] = ...
hints: Any = ... hints: Mapping[str, Any] = ...
def __init__( def __init__(
self, self,
sql: Any, sql: Union[str, List[str], Tuple[str, ...]],
reverse_sql: Optional[Any] = ..., reverse_sql: Optional[Union[str, List[str], Tuple[str, ...]]] = ...,
state_operations: Optional[Any] = ..., state_operations: Sequence[Operation] = ...,
hints: Optional[Any] = ..., hints: Optional[Mapping[str, Any]] = ...,
elidable: bool = ..., elidable: bool = ...,
) -> None: ... ) -> None: ...
class RunPython(Operation): class RunPython(Operation):
code: Callable = ... code: Callable[[StateApps, BaseDatabaseSchemaEditor], None] = ...
reverse_code: Optional[Callable] = ... reverse_code: Optional[Callable[[StateApps, BaseDatabaseSchemaEditor], None]] = ...
hints: Optional[Dict[str, Any]] = ... hints: Optional[Dict[str, Any]] = ...
def __init__( def __init__(
self, self,
code: Callable, code: Callable[[StateApps, BaseDatabaseSchemaEditor], None],
reverse_code: Optional[Callable] = ..., reverse_code: Optional[Callable[[StateApps, BaseDatabaseSchemaEditor], None]] = ...,
atomic: Optional[bool] = ..., atomic: Optional[bool] = ...,
hints: Optional[Dict[str, Any]] = ..., hints: Optional[Dict[str, Any]] = ...,
elidable: bool = ..., elidable: bool = ...,