2009-10-20 13 views
11

私はCapistranoを使用して私のアプリをプロダクションに展開することができましたが、私は自分のデータベースをどう扱うかを理解していません。私はSubversionと乗客を使用しています。Capistrano Deploy Wipes Database?

私はcap展開を実行すると、新しい展開がすべて新しく開始されます。これは、データベースに追加されたデータを消去します。明らかに、解決策が必要ですが、私はこれに対処する方法についてオンラインで何も見つけられないことに非常に驚いています。私はCapistranoのドキュメントと多くのチュートリアルを読んだ。

ユーザーが作成したコンテンツを共有ディレクトリに置くことについて語っているAdvanced Railsのレシピの本がありますが、これは正確なものではありません。

カプリストラノで展開するときにデータベースをどのように処理しますか?

+0

データベースはどのようになっていますか? SQLite? –

答えて

24

SQLiteを使用していて、デフォルトの場所にデータベースを保持している可能性があります。あなたのデータベースは削除されていません。

database.ymlを編集し、本番データベースを "../../shared/database.yml"などの共有場所に保存するように指示する必要があります(絶対パス、またはボーナスポイントのMySQLの場合)。

capistranoを使用して配備すると、タイムスタンプの付いたディレクトリにアプリの新しいコピーが作成されます。あなたのデータベースは古いタイムスタンプ付きのディレクトリに残されています。

+0

ああ!はい、私はmysqlに切り替えようとしていましたが、開発用にsqliteを使用していて、sqliteで初めてデプロイしました。 mysqlに切り替える時のように見えます。ありがとう。 – MikeH

+0

mysqlに切り替えました。これが問題でした。 – MikeH

+0

良いもの!受け入れてくれてありがとう! – cwninja

関連する問題