Docs/installation tutorial (#7)
* [add]修改迁移文件新建空白表结构 * Add installation guide and environment setup Added installation instructions and environment requirements for MemoryBear. * [delete]删除api,web的readme.md。只保留唯一readme.md * Fix database connection example in README Update database connection configuration example in README.
This commit is contained in:
@@ -35,7 +35,7 @@ def upgrade() -> None:
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_index(op.f('ix_app_shares_id'), 'app_shares', ['id'], unique=False)
|
||||
op.drop_table('data_config')
|
||||
op.execute('DROP TABLE IF EXISTS data_config')
|
||||
op.add_column('conversations', sa.Column('workspace_id', sa.UUID(), nullable=False, comment='工作空间ID'))
|
||||
op.create_foreign_key(None, 'conversations', 'workspaces', ['workspace_id'], ['id'])
|
||||
# ### end Alembic commands ###
|
||||
|
||||
@@ -47,7 +47,7 @@ def upgrade() -> None:
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_index(op.f('ix_messages_id'), 'messages', ['id'], unique=False)
|
||||
op.drop_table('data_config')
|
||||
op.execute('DROP TABLE IF EXISTS data_config')
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
|
||||
@@ -20,11 +20,31 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column('data_config', sa.Column('llm', sa.String(), nullable=True, comment='LLM模型配置ID'))
|
||||
# 检查表是否存在再添加列
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.tables WHERE table_name = 'data_config')
|
||||
AND NOT EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'llm') THEN
|
||||
ALTER TABLE data_config ADD COLUMN llm VARCHAR;
|
||||
COMMENT ON COLUMN data_config.llm IS 'LLM模型配置ID';
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_column('data_config', 'llm')
|
||||
# 检查列是否存在再删除
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'llm') THEN
|
||||
ALTER TABLE data_config DROP COLUMN llm;
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
@@ -20,14 +20,21 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('data_config', 'llm_id',
|
||||
existing_type=sa.VARCHAR(),
|
||||
comment='LLM模型配置ID',
|
||||
existing_nullable=True)
|
||||
op.alter_column('data_config', 'embedding_id',
|
||||
existing_type=sa.VARCHAR(),
|
||||
comment='嵌入模型配置ID',
|
||||
existing_nullable=True)
|
||||
# 检查表和列是否存在再进行操作
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'llm_id') THEN
|
||||
COMMENT ON COLUMN data_config.llm_id IS 'LLM模型配置ID';
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'embedding_id') THEN
|
||||
COMMENT ON COLUMN data_config.embedding_id IS '嵌入模型配置ID';
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
op.add_column('workspaces', sa.Column('storage_type', sa.String(), nullable=True))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
@@ -20,8 +20,9 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('data_config_copy1')
|
||||
op.drop_table('data_config')
|
||||
# 使用 IF EXISTS 避免表不存在时报错
|
||||
op.execute('DROP TABLE IF EXISTS data_config_copy1')
|
||||
op.execute('DROP TABLE IF EXISTS data_config')
|
||||
op.add_column('agent_configs', sa.Column('model_parameters', postgresql.JSON(astext_type=sa.Text()), nullable=True, comment='模型参数配置(temperature、max_tokens等)'))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('data_config')
|
||||
op.execute('DROP TABLE IF EXISTS data_config')
|
||||
op.add_column('app_releases', sa.Column('release_notes', sa.String(), nullable=True, comment='版本说明'))
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
@@ -358,8 +358,9 @@ def upgrade() -> None:
|
||||
$$ LANGUAGE plpgsql;
|
||||
""")
|
||||
|
||||
# 创建 documents 表上的触发器
|
||||
# 创建 documents 表上的触发器(如果不存在)
|
||||
op.execute("""
|
||||
DROP TRIGGER IF EXISTS tr_documents_update_stats ON documents;
|
||||
CREATE TRIGGER tr_documents_update_stats
|
||||
AFTER INSERT OR UPDATE OR DELETE ON documents
|
||||
FOR EACH ROW
|
||||
|
||||
@@ -69,8 +69,9 @@ def upgrade():
|
||||
$$ LANGUAGE plpgsql;
|
||||
""")
|
||||
|
||||
# 创建 documents 表上的触发器
|
||||
# 创建 documents 表上的触发器(如果不存在)
|
||||
op.execute("""
|
||||
DROP TRIGGER IF EXISTS tr_documents_update_stats ON documents;
|
||||
CREATE TRIGGER tr_documents_update_stats
|
||||
AFTER INSERT OR UPDATE OR DELETE ON documents
|
||||
FOR EACH ROW
|
||||
|
||||
@@ -184,5 +184,5 @@ def downgrade() -> None:
|
||||
op.drop_table('end_users')
|
||||
op.drop_index(op.f('ix_retrieval_info_id'), table_name='retrieval_info')
|
||||
op.drop_table('retrieval_info')
|
||||
op.drop_table('data_config')
|
||||
op.execute('DROP TABLE IF EXISTS data_config')
|
||||
# ### end Alembic commands ###
|
||||
|
||||
@@ -24,12 +24,22 @@ def upgrade() -> None:
|
||||
# 先删除依赖的视图(如果存在)
|
||||
op.execute("DROP VIEW IF EXISTS data_config_sorted CASCADE")
|
||||
|
||||
op.alter_column('data_config', 'llm_id',
|
||||
existing_type=sa.VARCHAR(),
|
||||
comment='LLM模型配置ID',
|
||||
existing_comment='临时',
|
||||
existing_nullable=True)
|
||||
op.drop_column('data_config', 'llm')
|
||||
# 检查表和列是否存在再进行操作
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'llm_id') THEN
|
||||
ALTER TABLE data_config ALTER COLUMN llm_id SET DATA TYPE VARCHAR;
|
||||
COMMENT ON COLUMN data_config.llm_id IS 'LLM模型配置ID';
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'llm') THEN
|
||||
ALTER TABLE data_config DROP COLUMN llm;
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
|
||||
@@ -20,19 +20,29 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('data_config', 'workspace_id',
|
||||
existing_type=sa.UUID(),
|
||||
comment='工作空间ID',
|
||||
existing_comment='comment',
|
||||
existing_nullable=True)
|
||||
# 检查列是否存在再进行操作
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'workspace_id') THEN
|
||||
COMMENT ON COLUMN data_config.workspace_id IS '工作空间ID';
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.alter_column('data_config', 'workspace_id',
|
||||
existing_type=sa.UUID(),
|
||||
comment='comment',
|
||||
existing_comment='工作空间ID',
|
||||
existing_nullable=True)
|
||||
# 检查列是否存在再进行操作
|
||||
op.execute("""
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT FROM information_schema.columns
|
||||
WHERE table_name = 'data_config' AND column_name = 'workspace_id') THEN
|
||||
COMMENT ON COLUMN data_config.workspace_id IS 'comment';
|
||||
END IF;
|
||||
END $$;
|
||||
""")
|
||||
# ### end Alembic commands ###
|
||||
|
||||
@@ -20,8 +20,9 @@ depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
def upgrade() -> None:
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.drop_table('mappings_copy1')
|
||||
op.drop_table('mappings')
|
||||
# 使用 IF EXISTS 避免表不存在时报错
|
||||
op.execute('DROP TABLE IF EXISTS mappings_copy1')
|
||||
op.execute('DROP TABLE IF EXISTS mappings')
|
||||
op.add_column('agent_configs', sa.Column('knowledge_retrieval', postgresql.JSON(astext_type=sa.Text()), nullable=True, comment='知识库检索配置'))
|
||||
op.add_column('agent_configs', sa.Column('memory', postgresql.JSON(astext_type=sa.Text()), nullable=True, comment='记忆配置'))
|
||||
op.add_column('agent_configs', sa.Column('variables', postgresql.JSON(astext_type=sa.Text()), nullable=True, comment='变量配置'))
|
||||
|
||||
Reference in New Issue
Block a user