db_version_service

This commit is contained in:
phernandez
2025-02-06 21:22:48 -06:00
parent 5e501b5440
commit 2ef48bb34c
8 changed files with 314 additions and 32 deletions
+9 -4
View File
@@ -1,12 +1,17 @@
"""Models package for basic-memory."""
from basic_memory.models.base import Base
import basic_memory
from basic_memory.models.base import Base, SchemaVersion
from basic_memory.models.knowledge import Entity, Observation, Relation, ObservationCategory
SCHEMA_VERSION = basic_memory.__version__ + "-" + "003"
__all__ = [
'Base',
'Entity',
'Observation',
'ObservationCategory',
'Relation'
]
'Relation',
'SchemaVersion'
]
+15 -3
View File
@@ -1,9 +1,21 @@
"""Base model class for SQLAlchemy models."""
from sqlalchemy import String
from sqlalchemy.ext.asyncio import AsyncAttrs
from sqlalchemy.orm import DeclarativeBase
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
class Base(AsyncAttrs, DeclarativeBase):
"""Base class for all models"""
pass
pass
class SchemaVersion(Base):
"""Track database schema version."""
__tablename__ = "schema_version"
# Only one row will exist
version: Mapped[str] = mapped_column(String, primary_key=True)
def __repr__(self) -> str:
return f"SchemaVersion(version='{self.version}')"