mirror of
https://github.com/MemeMeow-Studio/MemeMeow.git
synced 2026-10-17 04:41:01 +08:00
207 lines
5.3 KiB
Python
207 lines
5.3 KiB
Python
"""PostgreSQL 持久化兼容 facade。
|
|
|
|
模型、engine、事务单元、资源装配、Repository 和文件一致性协调器分别由
|
|
backend.persistence 下的 canonical 模块实现。本模块只显式 re-export 历史
|
|
公共名称,保证 API、Worker、迁移脚本和宿主适配层无需同步修改旧 import。
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import errno
|
|
import hashlib
|
|
import json
|
|
import os
|
|
import uuid
|
|
from contextlib import contextmanager
|
|
from pathlib import Path
|
|
from typing import Any, Iterator
|
|
from uuid import UUID
|
|
|
|
from sqlalchemy import select
|
|
from sqlalchemy.orm import Session
|
|
|
|
from backend.paths import SUPPORTED_EXTENSIONS, validate_business_storage_key
|
|
from backend.storage_security import StorageRootError, validate_controlled_root
|
|
from backend.persistence.engine import (
|
|
CURRENT_SCHEMA_REVISION,
|
|
DatabaseError,
|
|
SCOPE_LOCAL,
|
|
check_database,
|
|
create_engine_for_settings,
|
|
create_engine_for_url,
|
|
database_url_from_env,
|
|
ensure_optional_control_schema,
|
|
initialize_local,
|
|
)
|
|
from backend.persistence.models import (
|
|
BigInteger,
|
|
Boolean,
|
|
CheckConstraint,
|
|
DateTime,
|
|
DeclarativeBase,
|
|
EMBEDDING_DIMENSIONS,
|
|
ForeignKey,
|
|
ForeignKeyConstraint,
|
|
Index,
|
|
Integer,
|
|
JSON,
|
|
JSONB,
|
|
Mapped,
|
|
String,
|
|
UniqueConstraint,
|
|
Uuid,
|
|
Vector,
|
|
VISUAL_EMBEDDING_DIMENSIONS,
|
|
UTC,
|
|
OPTIONAL_CONTROL_TABLES,
|
|
AgentCallbackRequest,
|
|
Base,
|
|
DerivedImageThumbnail,
|
|
ImageProcessingAttempt,
|
|
ImageProcessingJob,
|
|
ImageProcessingStage,
|
|
InstallationState,
|
|
Meme,
|
|
MemeCollection,
|
|
MemeCollectionItem,
|
|
MemeEmbedding,
|
|
MemeTextEmbedding,
|
|
MemeVisualEmbedding,
|
|
OperationGrant,
|
|
ReverseImageUsageEvent,
|
|
Scope,
|
|
ScopeContext,
|
|
SearchGeneration,
|
|
SearchHead,
|
|
SearchMigrationState,
|
|
StorageOperation,
|
|
Task,
|
|
TaskBatch,
|
|
TaskBatchItem,
|
|
TaskLaneResourceSlot,
|
|
TaskLaneFairness,
|
|
TaskLaneSlot,
|
|
GLOBAL_LANE_RESOURCE_KEY,
|
|
mapped_column,
|
|
timezone,
|
|
unicodedata,
|
|
utcnow,
|
|
)
|
|
from backend.persistence.resources import DataEnvironment, DatabaseResources
|
|
from backend.persistence.repositories.callbacks import (
|
|
AgentCallbackRequestRepository,
|
|
InMemoryAgentCallbackRequestRepository,
|
|
InMemoryCallbackRequest,
|
|
InMemoryCallbackRequestRepository,
|
|
)
|
|
from backend.persistence.repositories.collections import CollectionRepository
|
|
from backend.persistence.repositories.memes import MemeRepository
|
|
from backend.persistence.repositories.reverse_image import ReverseImageUsageRepository
|
|
from backend.persistence.repositories.search import SearchRepository
|
|
from backend.persistence.repositories.tasks import IMAGE_PROCESSING_LANE_TYPES, TaskRepository, _validate_lane_capacities, validate_lane_resource_concurrency, validate_lane_resource_key
|
|
from backend.persistence.repositories.thumbnails import DerivedThumbnailRepository
|
|
from backend.persistence.repositories.visual_embeddings import VisualEmbeddingRepository, validate_visual_vector
|
|
from backend.persistence.storage import BlobStore, StorageCoordinator
|
|
from backend.persistence.unit_of_work import UnitOfWork
|
|
|
|
|
|
__all__ = [
|
|
"AgentCallbackRequest",
|
|
"AgentCallbackRequestRepository",
|
|
"Base",
|
|
"BigInteger",
|
|
"BlobStore",
|
|
"Boolean",
|
|
"CURRENT_SCHEMA_REVISION",
|
|
"CheckConstraint",
|
|
"CollectionRepository",
|
|
"DataEnvironment",
|
|
"DerivedImageThumbnail",
|
|
"DerivedThumbnailRepository",
|
|
"DatabaseError",
|
|
"DatabaseResources",
|
|
"DateTime",
|
|
"DeclarativeBase",
|
|
"EMBEDDING_DIMENSIONS",
|
|
"ForeignKey",
|
|
"ForeignKeyConstraint",
|
|
"IMAGE_PROCESSING_LANE_TYPES",
|
|
"ImageProcessingAttempt",
|
|
"ImageProcessingJob",
|
|
"ImageProcessingStage",
|
|
"Index",
|
|
"InMemoryAgentCallbackRequestRepository",
|
|
"InMemoryCallbackRequest",
|
|
"InMemoryCallbackRequestRepository",
|
|
"InstallationState",
|
|
"Integer",
|
|
"JSON",
|
|
"JSONB",
|
|
"Mapped",
|
|
"Meme",
|
|
"MemeCollection",
|
|
"MemeCollectionItem",
|
|
"MemeEmbedding",
|
|
"MemeTextEmbedding",
|
|
"MemeVisualEmbedding",
|
|
"OPTIONAL_CONTROL_TABLES",
|
|
"OperationGrant",
|
|
"ReverseImageUsageEvent",
|
|
"ReverseImageUsageRepository",
|
|
"SCOPE_LOCAL",
|
|
"Scope",
|
|
"ScopeContext",
|
|
"SearchGeneration",
|
|
"SearchHead",
|
|
"SearchMigrationState",
|
|
"SearchRepository",
|
|
"StorageCoordinator",
|
|
"StorageOperation",
|
|
"SUPPORTED_EXTENSIONS",
|
|
"String",
|
|
"Task",
|
|
"TaskBatch",
|
|
"TaskBatchItem",
|
|
"TaskLaneResourceSlot",
|
|
"TaskLaneFairness",
|
|
"TaskLaneSlot",
|
|
"GLOBAL_LANE_RESOURCE_KEY",
|
|
"TaskRepository",
|
|
"UTC",
|
|
"UniqueConstraint",
|
|
"UnitOfWork",
|
|
"Uuid",
|
|
"VISUAL_EMBEDDING_DIMENSIONS",
|
|
"Vector",
|
|
"VisualEmbeddingRepository",
|
|
"_validate_lane_capacities",
|
|
"validate_lane_resource_key",
|
|
"validate_lane_resource_concurrency",
|
|
"check_database",
|
|
"create_engine_for_settings",
|
|
"create_engine_for_url",
|
|
"database_url_from_env",
|
|
"ensure_optional_control_schema",
|
|
"initialize_local",
|
|
"mapped_column",
|
|
"timezone",
|
|
"unicodedata",
|
|
"utcnow",
|
|
"validate_visual_vector",
|
|
"Any",
|
|
"Iterator",
|
|
"Path",
|
|
"Session",
|
|
"UUID",
|
|
"contextmanager",
|
|
"errno",
|
|
"hashlib",
|
|
"json",
|
|
"os",
|
|
"select",
|
|
"StorageRootError",
|
|
"validate_business_storage_key",
|
|
"validate_controlled_root",
|
|
"uuid",
|
|
]
|