12

我已经设法使用 Capistrano 将我的应用程序部署到生产环境,但我不明白如何处理我的数据库。我正在使用颠覆和乘客。

当我运行 cap deploy 时,新的部署会重新开始。它会清除添加到数据库中的数据。显然,必须有一个解决方案,但我很惊讶没有在网上找到任何关于如何处理这个问题的信息。我已经阅读了 Capistrano 文档和许多教程。

我能找到的最好的是 Advanced Rails 食谱书籍,它谈到将用户生成的内容放入共享目录,但它并不完全正确。

使用 Capistrano 部署时如何处理数据库?

4

1 回答 1

25

您可能正在使用 SQLite,并且您将数据库保存在默认位置。您的数据库没有被删除,更多只是被留下了。

您需要编辑您的 database.yml 并告诉它将您的生产数据库保存在共享位置“../../shared/database.yml”或类似位置(您最好使用绝对路径,或获得奖励积分MySQL)。

当您通过 capistrano 部署时,它会在时间戳目录中创建您的应用程序的新副本。您的数据库被留在旧的时间戳目录中。

于 2009-10-20T08:32:37.053 回答