v0.2.0: CRM/ERP 系统升级 - 清理 .gitignore 并移除误提交的 venv/env/db 文件
- 更新 .gitignore:全面覆盖环境变量、数据库、日志、缓存、上传文件 - 移除误跟踪的 server/venv/、crm_data.db、.env 文件 - 新增 server/.env.example 模板 - 新增合同管理、利润核算、AI教练等功能模块 - 新增 Playwright e2e 测试套件 - 前后端多项功能升级和 bug 修复
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
"""Phase D addon: pgvector kb_obsidian_vectors table
|
||||
|
||||
Revision ID: b8c9d0e1f2a3
|
||||
Revises: a7b8c9d0e1f2
|
||||
Create Date: 2026-03-27
|
||||
|
||||
Prerequisites: sudo apt-get install postgresql-16-pgvector
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects.postgresql import UUID, JSONB
|
||||
|
||||
revision = "b8c9d0e1f2a3"
|
||||
down_revision = "a7b8c9d0e1f2"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.execute("CREATE EXTENSION IF NOT EXISTS vector")
|
||||
op.create_table(
|
||||
"kb_obsidian_vectors",
|
||||
sa.Column("id", UUID(as_uuid=True), primary_key=True),
|
||||
sa.Column("company_id", UUID(as_uuid=True), sa.ForeignKey("sys_companies.id"), nullable=False, index=True),
|
||||
sa.Column("source_path", sa.String(500), nullable=False, comment="源文件路径"),
|
||||
sa.Column("chunk_index", sa.SmallInteger, server_default="0"),
|
||||
sa.Column("content", sa.Text, nullable=False),
|
||||
sa.Column("metadata", JSONB, nullable=True),
|
||||
sa.Column("created_at", sa.DateTime, server_default=sa.func.now()),
|
||||
sa.Column("is_deleted", sa.Boolean, server_default="false"),
|
||||
)
|
||||
op.execute("ALTER TABLE kb_obsidian_vectors ADD COLUMN embedding vector(1536)")
|
||||
op.execute("""
|
||||
CREATE INDEX ix_kb_obsidian_vectors_embedding
|
||||
ON kb_obsidian_vectors
|
||||
USING hnsw (embedding vector_cosine_ops)
|
||||
""")
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DROP INDEX IF EXISTS ix_kb_obsidian_vectors_embedding")
|
||||
op.drop_table("kb_obsidian_vectors")
|
||||
op.execute("DROP EXTENSION IF EXISTS vector")
|
||||
Reference in New Issue
Block a user