mirror of
https://github.com/Comfy-Org/ComfyUI.git
synced 2026-09-21 13:38:08 -05:00
chore(assets): drop the unused asset_meta table from migration 0007
This commit is contained in:
@@ -67,19 +67,6 @@ def upgrade() -> None:
|
||||
op.create_index("ix_assets_name", "assets", ["name"])
|
||||
op.create_index("ix_assets_created_at", "assets", ["created_at"])
|
||||
op.create_index("ix_assets_preview_id", "assets", ["preview_id"])
|
||||
op.create_table(
|
||||
"asset_meta",
|
||||
sa.Column("asset_id", sa.String(36), sa.ForeignKey("assets.id", ondelete="CASCADE"), primary_key=True),
|
||||
sa.Column("key", sa.String(256), primary_key=True),
|
||||
sa.Column("ordinal", sa.Integer(), primary_key=True),
|
||||
sa.Column("val_str", sa.String(2048)), sa.Column("val_num", sa.Numeric(38, 10)),
|
||||
sa.Column("val_bool", sa.Boolean()), sa.Column("val_json", sa.JSON()),
|
||||
sa.CheckConstraint("val_str IS NOT NULL OR val_num IS NOT NULL OR val_bool IS NOT NULL OR val_json IS NOT NULL", name="ck_asset_meta_has_value"),
|
||||
)
|
||||
op.create_index("ix_asset_meta_key", "asset_meta", ["key"])
|
||||
op.create_index("ix_asset_meta_key_val_str", "asset_meta", ["key", "val_str"])
|
||||
op.create_index("ix_asset_meta_key_val_num", "asset_meta", ["key", "val_num"])
|
||||
op.create_index("ix_asset_meta_key_val_bool", "asset_meta", ["key", "val_bool"])
|
||||
op.create_table("asset_tags", sa.Column("asset_id", sa.String(36), sa.ForeignKey("assets.id", ondelete="CASCADE"), primary_key=True), sa.Column("tag_name", sa.String(512), sa.ForeignKey("tags.name", ondelete="RESTRICT"), primary_key=True), sa.Column("origin", sa.String(32), nullable=False), sa.Column("added_at", sa.DateTime(), nullable=False))
|
||||
op.create_index("ix_asset_tags_tag_name", "asset_tags", ["tag_name"])
|
||||
op.create_index("ix_asset_tags_asset_id", "asset_tags", ["asset_id"])
|
||||
@@ -89,7 +76,6 @@ def upgrade() -> None:
|
||||
def downgrade() -> None:
|
||||
op.drop_table("asset_system_state")
|
||||
op.drop_table("asset_tags")
|
||||
op.drop_table("asset_meta")
|
||||
op.drop_table("assets")
|
||||
op.drop_table("asset_contents")
|
||||
op.create_table(
|
||||
|
||||
@@ -10,7 +10,6 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
from typing import Any
|
||||
|
||||
from sqlalchemy import (
|
||||
@@ -21,8 +20,6 @@ from sqlalchemy import (
|
||||
DateTime,
|
||||
ForeignKey,
|
||||
Index,
|
||||
Integer,
|
||||
Numeric,
|
||||
String,
|
||||
Text,
|
||||
text,
|
||||
@@ -103,9 +100,6 @@ class Asset(Base):
|
||||
preview: Mapped[Asset | None] = relationship(
|
||||
"Asset", foreign_keys=[preview_id], remote_side=lambda: [Asset.id]
|
||||
)
|
||||
metadata_entries: Mapped[list[AssetMeta]] = relationship(
|
||||
back_populates="asset", cascade="all,delete-orphan", passive_deletes=True
|
||||
)
|
||||
tag_links: Mapped[list[AssetTag]] = relationship(
|
||||
back_populates="asset", cascade="all,delete-orphan", passive_deletes=True
|
||||
)
|
||||
@@ -121,33 +115,6 @@ class Asset(Base):
|
||||
)
|
||||
|
||||
|
||||
class AssetMeta(Base):
|
||||
__tablename__ = "asset_meta"
|
||||
|
||||
asset_id: Mapped[str] = mapped_column(
|
||||
String(36), ForeignKey("assets.id", ondelete="CASCADE"), primary_key=True
|
||||
)
|
||||
key: Mapped[str] = mapped_column(String(256), primary_key=True)
|
||||
ordinal: Mapped[int] = mapped_column(Integer, primary_key=True, default=0)
|
||||
val_str: Mapped[str | None] = mapped_column(String(2048))
|
||||
val_num: Mapped[Decimal | None] = mapped_column(Numeric(38, 10))
|
||||
val_bool: Mapped[bool | None] = mapped_column(Boolean)
|
||||
val_json: Mapped[Any | None] = mapped_column(JSON)
|
||||
|
||||
asset: Mapped[Asset] = relationship(back_populates="metadata_entries")
|
||||
|
||||
__table_args__ = (
|
||||
Index("ix_asset_meta_key", "key"),
|
||||
Index("ix_asset_meta_key_val_str", "key", "val_str"),
|
||||
Index("ix_asset_meta_key_val_num", "key", "val_num"),
|
||||
Index("ix_asset_meta_key_val_bool", "key", "val_bool"),
|
||||
CheckConstraint(
|
||||
"val_str IS NOT NULL OR val_num IS NOT NULL OR val_bool IS NOT NULL OR val_json IS NOT NULL",
|
||||
name="ck_asset_meta_has_value",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
class AssetTag(Base):
|
||||
__tablename__ = "asset_tags"
|
||||
|
||||
|
||||
@@ -95,7 +95,6 @@ def test_0007_invariants_on_migrated_db(db_at_0006):
|
||||
def test_0007_orm_parity(db_at_0006, tmp_path):
|
||||
from sqlalchemy import create_engine, inspect
|
||||
|
||||
import app.assets.database.models as asset_models
|
||||
from app.database.models import Base
|
||||
|
||||
cfg, db_path = db_at_0006
|
||||
@@ -109,26 +108,13 @@ def test_0007_orm_parity(db_at_0006, tmp_path):
|
||||
)
|
||||
}
|
||||
|
||||
alembic_engine = create_engine(f"sqlite:///{db_path}")
|
||||
orm_db = str(tmp_path / "orm.db")
|
||||
engine = create_engine(f"sqlite:///{orm_db}")
|
||||
alembic_inspector = inspect(alembic_engine)
|
||||
Base.metadata.create_all(engine)
|
||||
orm_inspector = inspect(engine)
|
||||
orm_tables = set(orm_inspector.get_table_names())
|
||||
assert asset_models.AssetMeta.__tablename__ == "asset_meta"
|
||||
|
||||
alembic_indexes = {
|
||||
(index["name"], tuple(index["column_names"]))
|
||||
for index in alembic_inspector.get_indexes("asset_meta")
|
||||
}
|
||||
orm_indexes = {
|
||||
(index.name, tuple(index.columns.keys()))
|
||||
for index in Base.metadata.tables["asset_meta"].indexes
|
||||
}
|
||||
|
||||
assert alembic_tables == orm_tables, f"Mismatch: alembic={alembic_tables}, orm={orm_tables}"
|
||||
assert alembic_indexes == orm_indexes, f"Mismatch: alembic={alembic_indexes}, orm={orm_indexes}"
|
||||
|
||||
|
||||
def test_0007_downgrade_chain_past_0003_succeeds(db_at_0006):
|
||||
|
||||
@@ -10,7 +10,6 @@ def assert_asset_metadata_tables():
|
||||
assert set(Base.metadata.tables) == {
|
||||
"assets",
|
||||
"asset_contents",
|
||||
"asset_meta",
|
||||
"asset_tags",
|
||||
"tags",
|
||||
"asset_system_state",
|
||||
|
||||
Reference in New Issue
Block a user