V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zsmile
V2EX  ›  程序员

关于 Python 的项目管理

  •  
  •   zsmile · 11 天前 · 1458 次点击
    有没有 python 大佬来解答一下?

    我现在有几个 python 项目都是使用 poetry 作为管理工具,然后数据库方面用的是 SqlAlchemy2.0 和 Postgresql 。

    目前是每个项目单独集成了。例如:
    1. fastapi 后台。集成了后采用是异步线程池。
    2. 云网关。继承后采用的是同步线程池。

    这两个项目用到的实体基本一致,也都是访问了同一个 Postgresql

    现在我想要将这个数据库层抽象出去,并添加 Alembic 数据库迁移工具管理。有几个问题:
    1. 这种方式维护数据库,并提取抽象接口是否合适?
    2. 原有的项目如何集成这个仓库。我看到有说法是说采用 github+version 的形式,本地开发的情况下,更改 poetry 其中的配置,将这个库的访问指向本地文件夹,就可以实时调试了?是否有更合适的方案?
    10 条回复    2025-11-28 17:09:22 +08:00
    yingqi1
        1
    yingqi1  
       11 天前
    git subtree ? Git Submodule ?
    fisherning
        2
    fisherning  
       10 天前
    不合适,不建议把数据库独立出去。git submodule 不好用。
    既然是两个项目,那正确做法是把数据库拆分成两个。
    zsmile
        3
    zsmile  
    OP
       10 天前
    @fisherning 拆分两个,但是实际上两个都会有交叉业务,最终也是一个更新了,另一个最好也一同更新
    zsmile
        4
    zsmile  
    OP
       10 天前
    @yingqi1 submodule/subtree 的形式也考虑过,但感觉对于版本发布这些会复杂了
    beantsxuuuu
        5
    beantsxuuuu  
       10 天前
    一般是 submodule
    wanniwa
        6
    wanniwa  
       10 天前
    业务有强交叉,数据库还共用,那分成两个项目的意义何在,分成一个项目两个文件件不行?
    这项目拆分方式。。。。脑子一热拆的吗。。。。。
    zsmile
        7
    zsmile  
    OP
       10 天前
    @wanniwa 只是数据库的部分模块共用,因为一个项目是对用户的,一个是物联网内部网关。本身也是分开维护的。
    zsmile
        8
    zsmile  
    OP
       10 天前
    @beantsxuuuu python 这种情况只能 submodule 了吗?
    beantsxuuuu
        9
    beantsxuuuu  
       9 天前
    @zsmile 我们一般是这么用
    zsmile
        10
    zsmile  
    OP
       9 天前
    @beantsxuuuu 好的。谢谢
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2704 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    ♥ Do have faith in what you're doing.