1

我正在研究流行的 django cms 框架 - wagtail 并提出问题:您如何将开发的内容(如页面/文档/图像)部署到生产环境?

我很困惑,因为这些内容(如页面)被保存到数据库中,本质上它们只是数据库表行而不是 git repo 中的资源,所以如果我在我的开发中开发一个简单的网站并且当我部署到产品时,它不像 git push 那样简单。这方面的最佳做法是什么?

我从 torchbox 中阅读了一些代码,有一些数据库转储和使用 fabaric 提取任务的记录,不确定这是否是首选方式,也无法完全理解它们。

或者,如果它是生产站点,是否假设每个人都在那里添加内容,而 prod 是事实的来源,则不需要“内容部署”,因为只有那些模式通过南迁移或其他静态资源进行更改。

如果有人对此有经验并提供指导,请提供帮助。

谢谢

4

1 回答 1

3

在我们的(Torchbox)站点上,所有内容输入通常都发生在生产站点上,因此我们不需要在常规部署中推送任何数据库内容。我们的许多网站都有数十甚至数百名编辑,因此几乎不可能在网站的多个安装中同步内容。

每当我们需要将内容从一个安装传输到另一个安装时(例如,第一次部署生产站点,或拉取实时站点的快照以帮助开发),我们使用 Postgresqlpg_dump命令对完整的数据库,然后使用psql命令在目的地恢复它。可以使用 Fabric 之类的工具来自动执行此操作,但这不是必需的。

于 2015-08-07T14:14:41.630 回答