Capistrano部署Wipes数据库?

Mik*_*keH 11 database svn deployment capistrano ruby-on-rails

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

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

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

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

cwn*_*nja 24

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

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

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