• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zsmile
V2EX  ›  程序员

关于 Python 的项目管理

  •  
  •   zsmile · Nov 26, 2025 · 2020 views
    This topic created in 169 days ago, the information mentioned may be changed or developed.
    有没有 python 大佬来解答一下?

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

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

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

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