0

コンテキスト: 私は生産中のレールアプリを作りました。もともと、プロジェクトの範囲は小さかったので、テストを書く必要はありませんでしたが、成長するにつれて、私はそれらを持っていることが不可欠です。私は無意識に本番データベースを作成しました。これは既に存在する生産データを破壊しますか?

`rake db:create:all` 

私は次のような応答を受け取った:私は、テスト用のデータベースと一緒にRSpecのを設定したよう

は、私は、次のコマンドを実行した

Database 'db/development.sqlite3' already exists 
Database 'db/test.sqlite3' already exists 
Created database 'db/production.sqlite3'` 

質問: は、私が持っているという事実を考えますすでに稼働中の本番データベースを持つ展開済みアプリケーション(Heroku上)は、変更をマージしてコードを本番環境にプッシュすると、最終的なデータ( Created database 'db/production.sqlite3) ?

さらに、私はすでにプロダクションで別のデータベースを使用しているため、削除する必要がありますか?もしそうなら、どうですか?

私は誰かが役に立つ反応を出すために必要とする詳細を追加してもよろしいですか?前もってありがとう

+0

このコマンドをローカルで実行しましたか?右? まず、手動で削除しない限り、すべてのdbファイルは通常.gitignoreファイルに追加されます。ですから、gitで無視されるので、変更をマージしてプッシュすることは.sqlite3ファイルに影響しません。 –

答えて

0

Herokuは前回チェックしたsqliteではなくPostgresを使用しています。

https://devcenter.heroku.com/articles/sqlite3

はあなたのgemfileのproductionセクションで何を見て、それはpostgresにする必要があります。テスト/開発では、sqliteを使用できます。

rake db:createでマシンに行った変更もローカルである必要があります。上記のリンクにあるdatabase.ymlを適切に設定することを確かめたなら、あなたはherokuであなたのデータベースを台無しにする心配はありません。

ただし、できれば運用データのバックアップを作成することには問題ありません。

関連する問題