1

我有几个存储库:一个管理数据库模式的存储库(由一些 .sql 文件组成)和一个 Python SqlAlchemy 模型(model.py 和其他存储库,它们只需要使用 Python 模型文件,而不需要使用 *.sql 文件.

是否有可能在任何其他 repos 中仅获取 model.py 文件,也许作为子模块?

目前:

REPO "db":
`-- model.py
`-- sql
    `-- various *.sql files

REPO "website"
`-- various *.py files
`-- needs model.py...?

REPO "random-helper-script"
`-- various *.py files
`-- needs model.py...?

由于这是一个 Python 项目,我可以将 model.py 隔离到一个文件夹中,并以这种方式使其成为一个模块。

使用子模块,我可以将 model.py 单独拆分为一个 repo,或者只是处理我使用子模块获取所有 *.sql 文件的事实。想法?

4

1 回答 1

1

这是一个权衡。您对其他项目不感兴趣的 sql 文件所需的额外空间与将 model.py 放在单独的存储库中并将其用作所有存储库中的子模块的需要相比。将 model.py 作为一个单独的存储库可能感觉有点不对劲,因为您需要在另外两个存储库中使用它,而它确实与 sql 文件一起属于第一个项目。

假设 model.py 与 sql 文件耦合并且经常在 sql 文件时修改,我将使用第一个 repo 作为其他两个项目中的子模块。即使他们可能不关心 sql 文件,磁盘空间也很便宜 :)

于 2011-04-03T12:34:37.077 回答