From 2557614ba8732ef90fc2687565ba17c86007181d Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Tue, 17 Mar 2026 21:43:48 +0800 Subject: [PATCH] refactor(llm-configs): remove unused reserved_jsonb fields Remove the three reserved JSONB fields (reserved_jsonb_1, reserved_jsonb_2, reserved_jsonb_3) from the llm_model_configs table. These fields were planned for future use but are no longer needed. --- .../implemented/llm-model-configs.md | 26 ------------------- gns3server/db/models/llm_model_configs.py | 5 ---- ...20260303_create_llm_model_configs_table.py | 3 --- 3 files changed, 34 deletions(-) diff --git a/docs/gns3-copilot/implemented/llm-model-configs.md b/docs/gns3-copilot/implemented/llm-model-configs.md index 08d7003e9..3b1f0abe4 100644 --- a/docs/gns3-copilot/implemented/llm-model-configs.md +++ b/docs/gns3-copilot/implemented/llm-model-configs.md @@ -45,9 +45,6 @@ User's own config > User's group config | `group_id` | UUID (nullable) | Foreign key to user_groups table | | `is_default` | BOOLEAN | Default configuration flag | | `version` | INTEGER | Optimistic locking version (starts at 0, increments on each update) | -| `reserved_jsonb_1` | JSONB (nullable) | Reserved field for future use | -| `reserved_jsonb_2` | JSONB (nullable) | Reserved field for future use | -| `reserved_jsonb_3` | JSONB (nullable) | Reserved field for future use | | `created_at` | TIMESTAMP | Creation timestamp | | `updated_at` | TIMESTAMP | Last update timestamp | @@ -808,29 +805,6 @@ This enables fast lookups when filtering by model type, even with large datasets --- -## Reserved Fields - -The `llm_model_configs` table includes three reserved JSONB fields for future extensibility: - -| Field | Type | Description | -|-------|------|-------------| -| `reserved_jsonb_1` | JSONB (nullable) | Reserved for future use | -| `reserved_jsonb_2` | JSONB (nullable) | Reserved for future use | -| `reserved_jsonb_3` | JSONB (nullable) | Reserved for future use | - -**Purpose:** These fields are reserved for future feature development without requiring schema changes. They are currently unused in the API code but are available in the database layer for future enhancements. - -**Use Cases:** Future features might use these fields for: -- Advanced configuration options -- Metadata storage -- Feature flags -- Extension data -- Caching computed values - -**Note:** These fields are not exposed in the current API schemas and are reserved for internal use. - ---- - ## Context Limit Configuration ### What is `context_limit`? diff --git a/gns3server/db/models/llm_model_configs.py b/gns3server/db/models/llm_model_configs.py index eaddaf758..77d65cbb7 100644 --- a/gns3server/db/models/llm_model_configs.py +++ b/gns3server/db/models/llm_model_configs.py @@ -42,11 +42,6 @@ class LLMModelConfig(BaseTable): is_default = Column(Boolean, default=False, nullable=False) version = Column(Integer, default=0, nullable=False) # Optimistic locking version - # Reserved fields for future use (currently unused in code) - reserved_jsonb_1 = Column(JSON, nullable=True) - reserved_jsonb_2 = Column(JSON, nullable=True) - reserved_jsonb_3 = Column(JSON, nullable=True) - # Relationships user = relationship("User", backref="llm_model_configs") group = relationship("UserGroup", backref="llm_model_configs") diff --git a/gns3server/db_migrations/versions/20260303_create_llm_model_configs_table.py b/gns3server/db_migrations/versions/20260303_create_llm_model_configs_table.py index e3b812a52..fa7b99c6d 100644 --- a/gns3server/db_migrations/versions/20260303_create_llm_model_configs_table.py +++ b/gns3server/db_migrations/versions/20260303_create_llm_model_configs_table.py @@ -42,9 +42,6 @@ def upgrade() -> None: sa.Column('version', sa.Integer(), nullable=False, server_default='0'), sa.Column('created_at', sa.DateTime(), nullable=True), sa.Column('updated_at', sa.DateTime(), nullable=True), - sa.Column('reserved_jsonb_1', sa.JSON(), nullable=True, comment='Reserved field for future use'), - sa.Column('reserved_jsonb_2', sa.JSON(), nullable=True, comment='Reserved field for future use'), - sa.Column('reserved_jsonb_3', sa.JSON(), nullable=True, comment='Reserved field for future use'), sa.CheckConstraint( "(user_id IS NOT NULL AND group_id IS NULL) OR " "(user_id IS NULL AND group_id IS NOT NULL)",