diff --git a/tagstudio/src/core/library/alchemy/library.py b/tagstudio/src/core/library/alchemy/library.py index 56b114ff..a2734b1b 100644 --- a/tagstudio/src/core/library/alchemy/library.py +++ b/tagstudio/src/core/library/alchemy/library.py @@ -169,6 +169,8 @@ class Library: # Tag Aliases for tag in json_lib.tags: for alias in tag.aliases: + if not alias: + break self.add_alias(name=alias, tag_id=tag.id) # Tag Subtags @@ -1015,6 +1017,9 @@ class Library: def add_alias(self, name: str, tag_id: int) -> bool: with Session(self.engine) as session: + if not name: + logger.warning("[LIBRARY][add_alias] Alias value must not be empty") + return False alias = TagAlias( name=name, tag_id=tag_id, diff --git a/tagstudio/src/core/library/alchemy/models.py b/tagstudio/src/core/library/alchemy/models.py index 8da0c470..1c06e0fd 100644 --- a/tagstudio/src/core/library/alchemy/models.py +++ b/tagstudio/src/core/library/alchemy/models.py @@ -23,7 +23,7 @@ class TagAlias(Base): id: Mapped[int] = mapped_column(primary_key=True) - name: Mapped[str] + name: Mapped[str] = mapped_column(nullable=False) tag_id: Mapped[int] = mapped_column(ForeignKey("tags.id")) tag: Mapped["Tag"] = relationship(back_populates="aliases") diff --git a/tagstudio/src/qt/widgets/migration_modal.py b/tagstudio/src/qt/widgets/migration_modal.py index 2af7d94a..a2978f56 100644 --- a/tagstudio/src/qt/widgets/migration_modal.py +++ b/tagstudio/src/qt/widgets/migration_modal.py @@ -699,7 +699,7 @@ class JsonMigrationModal(QObject): sql_aliases = set( session.scalars(select(TagAlias.name).where(TagAlias.tag_id == tag.id)) ) - json_aliases = set(self.json_lib.get_tag(tag_id).aliases) + json_aliases = set([x for x in self.json_lib.get_tag(tag_id).aliases if x]) logger.info( "[Alias Parity]",