如何在两个模块之间共享数据库模型?
问题描述:
我目前正在在Python的web项目,是在AWS托管Elasticbeanstalk。我们有两个可部署的网络应用程序。前端烧瓶应用和后端烧瓶应用。在结构上两者在同一个git仓库中,但是为了部署,每个仓库都单独归档,生成一个可以发布到服务器的.zip文件。
--project/
--front/
--back/
该解决方案的两个模块都需要与数据库进行通信。我为此选择了使用ORM sqlalchemy。这个ORM允许我创建表示我的数据库中的表的模型(python类)。
发行
我的问题是这样的。我需要能够在两个模块中使用模型。目前,我拥有保存每个子文件夹中模型的文件的副本。这可能会导致很多问题保持文件同步,但也会在我的存储库中添加大量重复代码。我希望有更多经验的人能够描述一个更好的解决方案。
答
您可以添加,你有你的模型(和共享库也)一common
文件夹,如:
--project/
--front/
--common/
--back/
然后部署两个文件夹front/
和common/
例如。
通过这样做,您可以压缩一个Zip文件中的两个文件夹,也可以使用两个Zip文件。
这似乎是我找到的最好的解决方案,使我的构建/部署过程更长,但值得减少代码重复。 –