<!-- .github/pull_request_template.md --> ## Description <!-- Please provide a clear, human-generated description of the changes in this PR. DO NOT use AI-generated descriptions. We want to understand your thought process and reasoning. --> Added multi-user support for Falkor. Adding support for the rest of the graph dbs should be a bit easier after this first one, especially since Falkor is hybrid. There are a few things code quality wise that might need changing, I am open to suggestions. ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [x] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Other (please specify): ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [x] **I have tested my changes thoroughly before submitting this PR** - [x] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin. --------- Co-authored-by: Andrej Milicevic <milicevi@Andrejs-MacBook-Pro.local> Co-authored-by: Igor Ilic <30923996+dexters1@users.noreply.github.com> Co-authored-by: Igor Ilic <igorilic03@gmail.com>
28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
from datetime import datetime, timezone
|
|
|
|
from sqlalchemy import Column, DateTime, String, UUID, ForeignKey
|
|
from cognee.infrastructure.databases.relational import Base
|
|
|
|
|
|
class DatasetDatabase(Base):
|
|
__tablename__ = "dataset_database"
|
|
|
|
owner_id = Column(UUID, ForeignKey("principals.id", ondelete="CASCADE"), index=True)
|
|
dataset_id = Column(
|
|
UUID, ForeignKey("datasets.id", ondelete="CASCADE"), primary_key=True, index=True
|
|
)
|
|
|
|
vector_database_name = Column(String, unique=True, nullable=False)
|
|
graph_database_name = Column(String, unique=True, nullable=False)
|
|
|
|
vector_database_provider = Column(String, unique=False, nullable=False)
|
|
graph_database_provider = Column(String, unique=False, nullable=False)
|
|
|
|
vector_database_url = Column(String, unique=False, nullable=True)
|
|
graph_database_url = Column(String, unique=False, nullable=True)
|
|
|
|
vector_database_key = Column(String, unique=False, nullable=True)
|
|
graph_database_key = Column(String, unique=False, nullable=True)
|
|
|
|
created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
|
updated_at = Column(DateTime(timezone=True), onupdate=lambda: datetime.now(timezone.utc))
|