如何在两个模块之间共享数据库模型?
How to share Database models between two modules?
背景
我目前正在 python 中的一个 Web 项目上工作,该项目托管在 AWS Elasticbeanstalk 上。我们有两个可部署的 Web 应用程序。前端烧瓶应用程序和后端烧瓶应用程序。从结构上讲,两者在同一个 git 存储库中,但对于部署,每个都 git 单独存档以生成可以发布到服务器的 .zip。
--project/
--front/
--back/
解决方案的两个模块都需要与数据库通信。为此,我选择使用 ORM sqlalchemy。这个 ORM 允许我创建模型 (python 类) 来表示我数据库中的表。
问题
我的问题是这样的。我需要能够在两个模块中使用这些模型。目前我在每个子文件夹中都有保存模型的文件副本。这可能会导致在保持文件同步方面出现很多问题,而且还会在我的存储库中添加大量重复代码。我希望比我有更多经验的人能够描述一个更好的解决方案。
您可以添加一个 common
文件夹,其中包含您的所有模型(以及共享库),如下所示:
--project/
--front/
--common/
--back/
然后您部署两个文件夹 front/
和 common/
例如。
这样做,您可以将两个文件夹压缩到一个 Zip 文件中,也可以使用两个 Zip 文件。
背景
我目前正在 python 中的一个 Web 项目上工作,该项目托管在 AWS Elasticbeanstalk 上。我们有两个可部署的 Web 应用程序。前端烧瓶应用程序和后端烧瓶应用程序。从结构上讲,两者在同一个 git 存储库中,但对于部署,每个都 git 单独存档以生成可以发布到服务器的 .zip。
--project/
--front/
--back/
解决方案的两个模块都需要与数据库通信。为此,我选择使用 ORM sqlalchemy。这个 ORM 允许我创建模型 (python 类) 来表示我数据库中的表。
问题
我的问题是这样的。我需要能够在两个模块中使用这些模型。目前我在每个子文件夹中都有保存模型的文件副本。这可能会导致在保持文件同步方面出现很多问题,而且还会在我的存储库中添加大量重复代码。我希望比我有更多经验的人能够描述一个更好的解决方案。
您可以添加一个 common
文件夹,其中包含您的所有模型(以及共享库),如下所示:
--project/
--front/
--common/
--back/
然后您部署两个文件夹 front/
和 common/
例如。
这样做,您可以将两个文件夹压缩到一个 Zip 文件中,也可以使用两个 Zip 文件。