From 29037f5bbb5c78f80860e9f8b398c9283772897a Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 25 十二月 2024 18:07:24 +0800
Subject: [PATCH] 部署优化

---
 app/config/env_conf/default_agent_conf.json |    0 
 /dev/null                                   |   34 -----------------
 app/config/config.py                        |   22 ++++++-----
 app/config/env_conf/api_key_conf.json       |    0 
 app/config/const.py                         |    2 
 app/config/env_conf/config.yaml             |    2 +
 main.py                                     |   11 +++--
 app/config/env_conf/app_register_conf.json  |    0 
 app/models/base_model.py                    |    3 -
 app/service/v2/initialize_data.py           |   11 +++--
 app/config/env_conf/menu_conf.json          |    0 
 11 files changed, 28 insertions(+), 57 deletions(-)

diff --git a/alembic/versions/0366cf835bba_dialog_agent_id_add.py b/alembic/versions/0366cf835bba_dialog_agent_id_add.py
deleted file mode 100644
index c7afc62..0000000
--- a/alembic/versions/0366cf835bba_dialog_agent_id_add.py
+++ /dev/null
@@ -1,30 +0,0 @@
-"""dialog agent id add 銆�
-
-Revision ID: 0366cf835bba
-Revises: 
-Create Date: 2024-12-12 18:50:43.195483
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-
-
-# revision identifiers, used by Alembic.
-revision: str = '0366cf835bba'
-down_revision: Union[str, None] = None
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('dialogs', sa.Column('agent_id', sa.String(length=32), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('dialogs', 'agent_id')
-    # ### end Alembic commands ###
diff --git a/alembic/versions/16efd20cce44_dialog_type_update_12_16.py b/alembic/versions/16efd20cce44_dialog_type_update_12_16.py
deleted file mode 100644
index 2d6facd..0000000
--- a/alembic/versions/16efd20cce44_dialog_type_update_12_16.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""dialog type update 12-16
-
-Revision ID: 16efd20cce44
-Revises: 5a1f335449b9
-Create Date: 2024-12-16 16:53:25.633589
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-from sqlalchemy.dialects import mysql
-
-# revision identifiers, used by Alembic.
-revision: str = '16efd20cce44'
-down_revision: Union[str, None] = '5a1f335449b9'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('dialogs', 'tenant_id',
-               existing_type=mysql.VARCHAR(length=32),
-               type_=sa.String(length=36),
-               existing_nullable=True)
-    op.drop_column('dialogs', 'agent_id')
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('dialogs', sa.Column('agent_id', mysql.VARCHAR(length=36), nullable=True))
-    op.alter_column('dialogs', 'tenant_id',
-               existing_type=sa.String(length=36),
-               type_=mysql.VARCHAR(length=32),
-               existing_nullable=True)
-    # ### end Alembic commands ###
diff --git a/alembic/versions/1c4af61d72a5_dialog_id_to_36.py b/alembic/versions/1c4af61d72a5_dialog_id_to_36.py
deleted file mode 100644
index 8362b50..0000000
--- a/alembic/versions/1c4af61d72a5_dialog_id_to_36.py
+++ /dev/null
@@ -1,52 +0,0 @@
-"""dialog id to 36
-
-Revision ID: 1c4af61d72a5
-Revises: 0366cf835bba
-Create Date: 2024-12-13 11:24:57.138214
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-from sqlalchemy.dialects import mysql
-
-# revision identifiers, used by Alembic.
-revision: str = '1c4af61d72a5'
-down_revision: Union[str, None] = '0366cf835bba'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('dialogs', 'id',
-               existing_type=mysql.VARCHAR(length=32),
-               type_=sa.String(length=36),
-               existing_nullable=False)
-    op.alter_column('dialogs', 'agent_id',
-               existing_type=mysql.VARCHAR(length=32),
-               type_=sa.String(length=36),
-               existing_nullable=True)
-    op.alter_column('knowledgebase', 'id',
-               existing_type=mysql.VARCHAR(length=32),
-               type_=sa.String(length=36),
-               existing_nullable=False)
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('knowledgebase', 'id',
-               existing_type=sa.String(length=36),
-               type_=mysql.VARCHAR(length=32),
-               existing_nullable=False)
-    op.alter_column('dialogs', 'agent_id',
-               existing_type=sa.String(length=36),
-               type_=mysql.VARCHAR(length=32),
-               existing_nullable=True)
-    op.alter_column('dialogs', 'id',
-               existing_type=sa.String(length=36),
-               type_=mysql.VARCHAR(length=32),
-               existing_nullable=False)
-    # ### end Alembic commands ###
diff --git a/alembic/versions/5a1f335449b9_knowledge_add_permission.py b/alembic/versions/5a1f335449b9_knowledge_add_permission.py
deleted file mode 100644
index 16ed7fd..0000000
--- a/alembic/versions/5a1f335449b9_knowledge_add_permission.py
+++ /dev/null
@@ -1,30 +0,0 @@
-"""knowledge add permission
-
-Revision ID: 5a1f335449b9
-Revises: ba24e02a6610
-Create Date: 2024-12-16 09:51:41.915994
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-
-
-# revision identifiers, used by Alembic.
-revision: str = '5a1f335449b9'
-down_revision: Union[str, None] = 'ba24e02a6610'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('knowledgebase', sa.Column('permission', sa.String(length=32), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('knowledgebase', 'permission')
-    # ### end Alembic commands ###
diff --git a/alembic/versions/75d247bc0248_knowledgebases_tables_add.py b/alembic/versions/75d247bc0248_knowledgebases_tables_add.py
deleted file mode 100644
index fa55f09..0000000
--- a/alembic/versions/75d247bc0248_knowledgebases_tables_add.py
+++ /dev/null
@@ -1,65 +0,0 @@
-"""knowledgebases tables add 
-
-Revision ID: 75d247bc0248
-Revises: 16efd20cce44
-Create Date: 2024-12-17 19:38:44.939447
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-from sqlalchemy.dialects import mysql
-
-# revision identifiers, used by Alembic.
-revision: str = '75d247bc0248'
-down_revision: Union[str, None] = '16efd20cce44'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table('knowledgebases',
-    sa.Column('id', sa.String(length=36), nullable=False),
-    sa.Column('name', sa.String(length=128), nullable=True),
-    sa.Column('create_date', sa.DateTime(), nullable=True),
-    sa.Column('update_date', sa.DateTime(), nullable=True),
-    sa.Column('permission', sa.String(length=32), nullable=True),
-    sa.Column('tenant_id', sa.String(length=32), nullable=True),
-    sa.Column('description', sa.Text(), nullable=True),
-    sa.Column('status', sa.String(length=1), nullable=True),
-    sa.Column('documents', sa.Integer(), nullable=True),
-    sa.Column('icon', sa.String(length=128), nullable=True),
-    sa.Column('knowledge_type', sa.String(length=1), nullable=True),
-    sa.PrimaryKeyConstraint('id')
-    )
-    op.drop_table('knowledgebase')
-    op.drop_constraint('group_Knowledge_ibfk_2', 'group_Knowledge', type_='foreignkey')
-    op.create_foreign_key(None, 'group_Knowledge', 'knowledgebases', ['knowledge_id'], ['id'], ondelete='CASCADE')
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_constraint(None, 'group_Knowledge', type_='foreignkey')
-    op.create_foreign_key('group_Knowledge_ibfk_2', 'group_Knowledge', 'knowledgebase', ['knowledge_id'], ['id'], ondelete='CASCADE')
-    op.create_table('knowledgebase',
-    sa.Column('id', mysql.VARCHAR(length=36), nullable=False),
-    sa.Column('name', mysql.VARCHAR(length=128), nullable=True),
-    sa.Column('create_date', mysql.DATETIME(), nullable=True),
-    sa.Column('update_date', mysql.DATETIME(), nullable=True),
-    sa.Column('tenant_id', mysql.VARCHAR(length=32), nullable=True),
-    sa.Column('description', mysql.TEXT(), nullable=True),
-    sa.Column('status', mysql.VARCHAR(length=1), nullable=True),
-    sa.Column('documents', mysql.INTEGER(), autoincrement=False, nullable=True),
-    sa.Column('icon', mysql.VARCHAR(length=128), nullable=True),
-    sa.Column('knowledge_type', mysql.VARCHAR(length=1), nullable=True),
-    sa.Column('permission', mysql.VARCHAR(length=32), nullable=True),
-    sa.PrimaryKeyConstraint('id'),
-    mysql_collate='utf8mb4_0900_ai_ci',
-    mysql_default_charset='utf8mb4',
-    mysql_engine='InnoDB'
-    )
-    op.drop_table('knowledgebases')
-    # ### end Alembic commands ###
diff --git a/alembic/versions/ba24e02a6610_menu_table_update.py b/alembic/versions/ba24e02a6610_menu_table_update.py
deleted file mode 100644
index 6990720..0000000
--- a/alembic/versions/ba24e02a6610_menu_table_update.py
+++ /dev/null
@@ -1,32 +0,0 @@
-"""menu table update
-
-Revision ID: ba24e02a6610
-Revises: ef06c24632a7
-Create Date: 2024-12-13 17:19:35.020328
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-
-
-# revision identifiers, used by Alembic.
-revision: str = 'ba24e02a6610'
-down_revision: Union[str, None] = 'ef06c24632a7'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('menu_capacity', sa.Column('chat_id', sa.String(length=36), nullable=True))
-    op.add_column('menu_capacity', sa.Column('chat_type', sa.String(length=36), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('menu_capacity', 'chat_type')
-    op.drop_column('menu_capacity', 'chat_id')
-    # ### end Alembic commands ###
diff --git a/alembic/versions/ef06c24632a7_dialog_id_to_update.py b/alembic/versions/ef06c24632a7_dialog_id_to_update.py
deleted file mode 100644
index 1912f2c..0000000
--- a/alembic/versions/ef06c24632a7_dialog_id_to_update.py
+++ /dev/null
@@ -1,34 +0,0 @@
-"""dialog id to update
-
-Revision ID: ef06c24632a7
-Revises: 1c4af61d72a5
-Create Date: 2024-12-13 16:18:18.486282
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-
-
-# revision identifiers, used by Alembic.
-revision: str = 'ef06c24632a7'
-down_revision: Union[str, None] = '1c4af61d72a5'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('dialogs', sa.Column('mode', sa.String(length=36), nullable=True))
-    op.add_column('user', sa.Column('sync_flag', sa.String(length=36), nullable=True))
-    op.add_column('web_menu', sa.Column('rank', sa.Integer(), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('web_menu', 'rank')
-    op.drop_column('user', 'sync_flag')
-    op.drop_column('dialogs', 'mode')
-    # ### end Alembic commands ###
diff --git a/app/config/config.py b/app/config/config.py
index dfc55b8..6e29333 100644
--- a/app/config/config.py
+++ b/app/config/config.py
@@ -26,15 +26,15 @@
     dify_database_url: str = ''
     def __init__(self, **kwargs):
         # 鏇挎崲閰嶇疆涓殑IP鍦板潃
-        host_ip = os.getenv('HOST_IP', '127.0.0.1')
-        kwargs['sgb_base_url'] = kwargs.get('sgb_base_url', '').replace('127.0.0.1', host_ip)
-        kwargs['sgb_websocket_url'] = kwargs.get('sgb_websocket_url', '').replace('127.0.0.1', host_ip)
-        kwargs['fwr_base_url'] = kwargs.get('fwr_base_url', '').replace('127.0.0.1', host_ip)
-        kwargs['sgb_db_url'] = kwargs.get('sgb_db_url', '').replace('127.0.0.1', host_ip)
-        kwargs['fwr_db_url'] = kwargs.get('fwr_db_url', '').replace('127.0.0.1', host_ip)
-        kwargs['dify_base_url'] = kwargs.get('dify_base_url', '').replace('127.0.0.1', host_ip)
-        kwargs['basic_base_url'] = kwargs.get('basic_base_url', '').replace('127.0.0.1', host_ip)
-        kwargs['dify_database_url'] = kwargs.get('dify_database_url', '').replace('127.0.0.1', host_ip)
+        # host_ip = os.getenv('HOST_IP', '127.0.0.1')
+        # kwargs['sgb_base_url'] = kwargs.get('sgb_base_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['sgb_websocket_url'] = kwargs.get('sgb_websocket_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['fwr_base_url'] = kwargs.get('fwr_base_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['sgb_db_url'] = kwargs.get('sgb_db_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['fwr_db_url'] = kwargs.get('fwr_db_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['dify_base_url'] = kwargs.get('dify_base_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['basic_base_url'] = kwargs.get('basic_base_url', '').replace('127.0.0.1', host_ip)
+        # kwargs['dify_database_url'] = kwargs.get('dify_database_url', '').replace('127.0.0.1', host_ip)
         # Check if all required fields are provided and set them
         for field in self.__annotations__.keys():
             if field not in kwargs:
@@ -61,7 +61,9 @@
 
 
 # Use pathlib to handle file paths
-config_yaml_path = Path(__file__).parent / 'config.yaml'
+# config_yaml_path = os.path.join(os.path.join(Path(__file__).parent, "env_conf"), "config.yaml")
+config_yaml_path = Path(__file__).parent.joinpath("env_conf") / 'config.yaml'
+print(config_yaml_path)
 settings_data = load_yaml(config_yaml_path)
 
 # Initialize settings object
diff --git a/app/config/const.py b/app/config/const.py
index 7a0a328..c971418 100644
--- a/app/config/const.py
+++ b/app/config/const.py
@@ -4,7 +4,7 @@
 DOCUMENT_TO_REPORT = "document_to_report"
 IMAGE_TO_TEXT = "image_and_text_conversion"
 DOCUMENT_IA_QUESTIONS = "document_ia_questions"
-
+ENV_CONF_PATH = "app/config/env_conf"
 
 ### -----------app register --------------
 RAGFLOW = "ragflow_app"
diff --git a/env_conf/api_key_conf.json b/app/config/env_conf/api_key_conf.json
similarity index 100%
rename from env_conf/api_key_conf.json
rename to app/config/env_conf/api_key_conf.json
diff --git a/env_conf/app_register_conf.json b/app/config/env_conf/app_register_conf.json
similarity index 100%
rename from env_conf/app_register_conf.json
rename to app/config/env_conf/app_register_conf.json
diff --git a/app/config/config.yaml b/app/config/env_conf/config.yaml
similarity index 99%
rename from app/config/config.yaml
rename to app/config/env_conf/config.yaml
index fa12766..b3a8273 100644
--- a/app/config/config.yaml
+++ b/app/config/env_conf/config.yaml
@@ -21,3 +21,5 @@
 dify_workflow_clean: app-OpF0drPu0XcgqcekQpT4FA8a
 dify_workflow_report: app-0MAkdFWqh9zxwmU69O0BFU1s
 dify_database_url: postgresql+psycopg2://postgres:difyai123456@192.168.20.116:15432/dify
+
+
diff --git a/env_conf/default_agent_conf.json b/app/config/env_conf/default_agent_conf.json
similarity index 100%
rename from env_conf/default_agent_conf.json
rename to app/config/env_conf/default_agent_conf.json
diff --git a/env_conf/menu_conf.json b/app/config/env_conf/menu_conf.json
similarity index 100%
rename from env_conf/menu_conf.json
rename to app/config/env_conf/menu_conf.json
diff --git a/app/models/base_model.py b/app/models/base_model.py
index 580f262..4f66ee2 100644
--- a/app/models/base_model.py
+++ b/app/models/base_model.py
@@ -6,8 +6,7 @@
 
 from app.config.config import settings
 
-DATABASE_URL = os.getenv('DATABASE_URL') or settings.database_url
-
+DATABASE_URL =  settings.database_url
 engine = create_engine(DATABASE_URL, pool_size=20, max_overflow=50)
 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
 
diff --git a/app/service/v2/initialize_data.py b/app/service/v2/initialize_data.py
index f681c56..5d2043a 100644
--- a/app/service/v2/initialize_data.py
+++ b/app/service/v2/initialize_data.py
@@ -2,7 +2,7 @@
 import time
 import os
 from Log import logger
-from app.config.const import DIFY
+from app.config.const import DIFY, ENV_CONF_PATH
 from app.models import MenuCapacityModel, WebMenuModel, GroupModel, RoleModel, DialogModel, UserModel, UserAppModel, \
     cipher_suite
 from app.service.auth import UserAppDao
@@ -17,7 +17,7 @@
 
 async def dialog_menu_sync(db):
     menu_list = []
-    with open("env_conf/menu_conf.json", 'r', encoding='utf-8') as file:
+    with open(os.path.join(ENV_CONF_PATH, "menu_conf.json") , 'r', encoding='utf-8') as file:
         # 鍔犺浇JSON鏁版嵁
         data = json.load(file)
         menu_list = data.get("data", [])
@@ -40,7 +40,8 @@
 
 
 async def create_menu_sync(db):
-    json_file_path = "env_conf/menu_conf.json.template"
+    # json_file_path = "env_conf/menu_conf.json.template"
+    json_file_path = os.path.join(ENV_CONF_PATH, "menu_conf.json.template")
     with open(json_file_path, 'r', encoding='utf-8') as file:
         json_data = json.load(file).get("data", [])
         # for menu in json_data:
@@ -107,7 +108,7 @@
 
 async def app_register_sync(db):
     app_dict = {}
-    with open("env_conf/app_register_conf.json", 'r', encoding='utf-8') as file:
+    with open(os.path.join(ENV_CONF_PATH, "app_register_conf.json"), 'r', encoding='utf-8') as file:
         # 鍔犺浇JSON鏁版嵁
         app_dict = json.load(file)
         try:
@@ -119,7 +120,7 @@
 
 async def basic_agent_sync(db):
     agent_list = []
-    with open("env_conf/default_agent_conf.json", 'r', encoding='utf-8') as file:
+    with open(os.path.join(ENV_CONF_PATH, "default_agent_conf.json"), 'r', encoding='utf-8') as file:
         # 鍔犺浇JSON鏁版嵁
         agent_dict = json.load(file)
         agent_list = agent_dict.get("basic", [])
diff --git a/main.py b/main.py
index 3a45216..86cb9f0 100644
--- a/main.py
+++ b/main.py
@@ -22,18 +22,19 @@
 from app.api.user import user_router
 from app.api.group import group_router
 from app.api.role import role_router
+from app.models.base_model import init_db
 # from app.models.base_model import init_db
 from app.task.fetch_agent import sync_agents, initialize_agents, sync_agents_v2, sync_knowledge
 from app.init_config.init_run_data import sync_default_data
 
-
+init_db()
 # 浣跨敤 Lifespan 浜嬩欢澶勭悊绋嬪簭
 @asynccontextmanager
 async def lifespan(app: FastAPI):
     # 鍒濆鍖栦唬鐞�
-    initialize_agents()
-    # 鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂鍚屾浠g悊
-    sync_agents()
+    # initialize_agents()
+    # # 鍦ㄥ簲鐢ㄥ惎鍔ㄦ椂鍚屾浠g悊
+    # sync_agents()
     await sync_default_data()
 
     sync_agents_v2()
@@ -42,7 +43,7 @@
     # 鍦ㄥ簲鐢ㄥ叧闂椂鎵ц娓呯悊鎿嶄綔锛堝鏋滈渶瑕侊級
     pass
 
-# init_db()
+
 app = FastAPI(
     title="basic_rag_gateway",
     version="0.1",

--
Gitblit v1.8.0