Capistrano部署Wipes数据库?

时间:2009-10-20 08:25:53

标签: ruby-on-rails database svn deployment capistrano

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

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

我能找到的最好的是Advanced Rails食谱书,其中讨论了如何将用户生成的内容放入共享目录,但这并不完全正确。

在使用Capistrano进行部署时,如何处理数据库?

1 个答案:

答案 0 :(得分:24)

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

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

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