You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在两个Git仓库中高效复用同一ORM模型?最佳实践解析

问题

我拥有两个访问同一数据库的FastAPI服务:一个是业务正式服务,另一个是用于从不同数据源加载数据的服务。两个服务各有独立的GitHub仓库,但使用相同的SQLAlchemy(.orm) ORM数据模型和Schema。

我的核心需求是:无需同时修改两个代码库,仅在一处修改就能适配数据库变更,彻底消除重复代码。我曾考虑将模型独立为新仓库或自定义库,但不确定最优的导入方式,也担心这么做反而增加额外工作量。

当前项目结构:

Service 1 (业务后端):
.
├── app                  
│	├── __init__.py      
│	├── main.py          
│	└── database 
│	    ├── __init__.py
│	    ├── ModelItem.py   # 示例模型
│	    ├── ...            # 其他模型
│	    ├── SchemaItem.py  # 示例Schema
│	    └── ...            # 其他Schema
│	├── routers             
│	└── ...         
Service 2 (数据加载服务):
.
├── app                  
│	├── __init__.py      
│	├── main.py          
│	└── database 
│	    ├── __init__.py
│	    ├── ModelItem.py   # 示例模型
│	    ├── ...            # 其他模型
│	    ├── SchemaItem.py  # 示例Schema
│	    └── ...            # 其他Schema         
│	├── routers             
│	└── ...          
解决方案

将ORM模型和Schema独立为私有Python包仓库,通过pip在两个服务中安装该包,具体操作参考以下规范:

  • 按照《Python项目打包规范》构建包的目录结构
  • 参考《私有Python包安装指南》的方法,从私有GitHub仓库安装该包

内容的提问来源于stack exchange,提问作者Jonas Z.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:55:24