使用全栈 Python 应用程序打包数据库

Packaging a database with a full-stack Python application

我目前正在创建一个应用程序,它将使用 Python Flask 作为后端,使用 API 和 PostgreSQL 作为数据库,以 JSON 格式存储我的数据。我的计划是在 JS 中有一个前端与 API 交互,它将从我的数据库中提取相关信息。

如何将数据库打包到程序中,以便如果从 GitHub 中提取新副本,用户将拥有托管和使用该服务所需的一切?我仍然是一名新的开发人员,很难使用我的爱好者代码并以干净、有条理的方式呈现它。

提前感谢大家的帮助。

虽然您的问题留下了很多选项,但您可以做以下两件事:

  1. 如果您假设您的用户可以自己安装 PostgreSQL 数据库:您可以转储包含 运行 您的应用程序所需的最低限度的数据库(使用 pg_dump)。当您的应用程序在您用户的服务器上启动时,它应该检测到它所连接的数据库是空的,这应该会触发您的数据导入。您的用户唯一应该做的就是填写他们的数据库连接详细信息

  2. 如果您的用户对配置服务器一无所知:您可以创建一个包含 Python 代码的 Docker 图像和 PostgreSQL。这个包将包含你的应用程序的所有依赖项和任何地方的 运行s。诚然,这有点多 'advanced',可能会给您和您的用户带来其他困难。