feat(plugin): persist declared metadata snapshots (#6467)

This commit is contained in:
InfinityPacer
2026-08-26 13:15:12 +08:00
committed by GitHub
parent bd0795082a
commit ac2a2b1129
26 changed files with 1374 additions and 147 deletions
+5 -5
View File
@@ -1,8 +1,8 @@
"""已安装物理插件来源身份模型。"""
from typing import Optional
from typing import Any, Optional
from sqlalchemy import Boolean, CheckConstraint, Integer, String, UniqueConstraint
from sqlalchemy import JSON, CheckConstraint, Integer, String, UniqueConstraint
from sqlalchemy.orm import Mapped, mapped_column
from app.db.base import Base, get_id_column
@@ -21,9 +21,9 @@ class PluginIdentity(Base):
payload_source_key: Mapped[Optional[str]] = mapped_column(String(255))
declared_version: Mapped[Optional[str]] = mapped_column(String(64))
package_generation: Mapped[Optional[str]] = mapped_column(String(8))
system_version: Mapped[Optional[str]] = mapped_column(String(128))
supports_v3: Mapped[Optional[bool]] = mapped_column(Boolean)
supports_v3t: Mapped[Optional[bool]] = mapped_column(Boolean)
declared_metadata: Mapped[Optional[dict[str, Any]]] = mapped_column(
JSON(none_as_null=True)
)
payload_receipt: Mapped[Optional[str]] = mapped_column(String(71))
revision: Mapped[int] = mapped_column(Integer, nullable=False, default=1)
created_at: Mapped[str] = mapped_column(String(40), nullable=False)