【问题标题】:Capistrano Deploy Wipes Database?Capistrano 部署 Wipes 数据库?
【发布时间】:2010-12-08 06:25:19
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你的数据库怎么样? SQLite ?

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


【解决方案1】:

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

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

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

【讨论】:

  • 啊!好的,是的,我正要切换到 mysql,但我一直在使用 sqlite 进行开发,并且第一次使用 sqlite 进行了部署。看来是时候改用mysql了。谢谢。
  • 切换到mysql,一切正常。这就是问题所在。
  • 呵呵 mysql 加分...或者懒惰加分! sqlite ftw!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-18
相关资源
最近更新 更多