首页 文章

Capistrano部署Wipes数据库?

提问于
浏览
11

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

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

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

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

1 回答

  • 24

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

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

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

相关问题