2

Postgres データベースを実行している OpenShift Enterprise に Ruby (2) on Rails (4) アプリをデプロイしました。最初の展開後、アプリは完全に機能し、情報はデータベースに保持され、ルーティングは機能し、すべてのテストに合格し、すべてが良好でした。

次に、新しい変更をいくつか展開しましgit push openshift masterた。アプリに戻ったとき、アプリはまだ実行されていましたが、すべてのデータベース コンテンツ (テーブル構造を含む) が失われていました。

からの出力pushはきれいでした。フックを作成したり、ファンキーな cron ジョブを実行したりしませんでした。このプロセスを繰り返してデータベースを再構築し、すべての展開でデータベースが吹き飛ばされるのを見ることができました。この問題は、ローカル インスタンスでは発生していませんでした。

4

1 に答える 1

2

tl;dr:プロジェクトのルートにディレクトリがあることを確認してください。.openshiftこれを例として使用してください: https://github.com/openshift/rails4-example

これが何が起こっていたかです。

Rails アプリを作成したとき、どこにデプロイするのかわかりませんでした。したがって、私はOpenShift Rails スケルトン アプリや を使用して開始しませんでしたrhc app create ruby-X.X.X -a railsX

open shift にデプロイするように言われたときrhc、 openshift を構成してセットアップしましたgit remote

.openshiftこれは、プロジェクトのルートにディレクトリがなかったことを意味します。https://github.com/openshift/rails4-exampleのクローンを作成し、そのプロジェクトの.openshiftディレクトリをプロジェクト ルートに移動すると、データベースを失うことなくデプロイできました。

于 2015-06-09T19:53:20.760 に答える