fix: Resolve issue when metadata is updated
Resolve issue when attempting to update metadata related to data Fix
This commit is contained in:
parent
3699b0dccb
commit
0a0b030df5
2 changed files with 19 additions and 8 deletions
|
|
@ -4,6 +4,7 @@ import re
|
|||
import warnings
|
||||
from typing import Any
|
||||
from uuid import UUID
|
||||
from sqlalchemy import select
|
||||
from typing import Any, BinaryIO, Union
|
||||
|
||||
from cognee.infrastructure.databases.relational import get_relational_engine
|
||||
|
|
@ -15,13 +16,24 @@ async def write_metadata(data_item: Union[BinaryIO, str, Any], data_id: UUID, fi
|
|||
metadata_dict = get_metadata_dict(data_item, file_metadata)
|
||||
db_engine = get_relational_engine()
|
||||
async with db_engine.get_async_session() as session:
|
||||
metadata = Metadata(
|
||||
id=data_id,
|
||||
metadata_repr=json.dumps(metadata_dict),
|
||||
metadata_source=parse_type(type(data_item)),
|
||||
data_id=data_id
|
||||
)
|
||||
session.add(metadata)
|
||||
|
||||
metadata = (
|
||||
await session.execute(select(Metadata).filter(Metadata.data_id == data_id))
|
||||
).scalar_one_or_none()
|
||||
|
||||
if metadata is not None:
|
||||
metadata.metadata_repr = json.dumps(metadata_dict)
|
||||
metadata.metadata_source = parse_type(type(data_item))
|
||||
await session.merge(metadata)
|
||||
else:
|
||||
metadata = Metadata(
|
||||
id=data_id,
|
||||
metadata_repr=json.dumps(metadata_dict),
|
||||
metadata_source=parse_type(type(data_item)),
|
||||
data_id=data_id
|
||||
)
|
||||
session.add(metadata)
|
||||
|
||||
await session.commit()
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,6 @@ async def ingest_data_with_metadata(data: Any, dataset_name: str, user: User):
|
|||
).scalar_one_or_none()
|
||||
|
||||
if data_point is not None:
|
||||
await delete_metadata(data_point.metadata_id)
|
||||
data_point.name = file_metadata["name"]
|
||||
data_point.raw_data_location = file_metadata["file_path"]
|
||||
data_point.extension = file_metadata["extension"]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue