Bases: PumCustomBaseModel
ApplicationModel holds the configuration for application hooks.
Attributes:
| Name |
Type |
Description |
drop |
list[HookModel] | None
|
Hooks to drop the application before applying migrations.
|
create |
list[HookModel] | None
|
Hooks to create the application after applying migrations.
|
Source code in pum/config_model.py
| class ApplicationModel(PumCustomBaseModel):
"""
ApplicationModel holds the configuration for application hooks.
Attributes:
drop: Hooks to drop the application before applying migrations.
create: Hooks to create the application after applying migrations.
"""
drop: list[HookModel] | None = Field(default=[], alias="pre")
create: list[HookModel] | None = Field(default=[], alias="post")
@model_validator(mode="before")
def handle_legacy_names(cls, values):
"""Support legacy field names for backward compatibility."""
# If new names don't exist but old names do, use old names
if "drop" not in values and "pre" in values:
values["drop"] = values.pop("pre")
if "create" not in values and "post" in values:
values["create"] = values.pop("post")
return values
|
handle_legacy_names
handle_legacy_names(values)
Support legacy field names for backward compatibility.
Source code in pum/config_model.py
| @model_validator(mode="before")
def handle_legacy_names(cls, values):
"""Support legacy field names for backward compatibility."""
# If new names don't exist but old names do, use old names
if "drop" not in values and "pre" in values:
values["drop"] = values.pop("pre")
if "create" not in values and "post" in values:
values["create"] = values.pop("post")
return values
|