我有几个存储库:一个管理数据库模式的存储库(由一些.sql文件组成)和一个Python SqlAlchemy模型(model.py和其他repos,它们只需要使用Python模型文件,但不需要* .sql文件。
是否可以在任何其他回购中获取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文件的事实。想法?
答案 0 :(得分:1)
这是一种权衡。您对其他项目不感兴趣的sql文件所需的额外空间,而不是将model.py放在单独的存储库中并将其用作所有存储库中的子模块。将model.py作为一个单独的存储库感觉有点不对,因为你需要在另外两个存储库中,当它真的与sql文件一起属于第一个项目时。
假设model.py与sql文件耦合并且经常在sql文件中被修改,我将使用第一个repo作为其他两个项目中的子模块。即使他们可能不关心sql文件,磁盘空间也很便宜:)