コマンドheroku rake db:migrate
. Database Import/Exportに関するドキュメントも読みました。そのドキュメントは、実際のデータをローカル開発 DB から Heroku の DB にプッシュすることを指していますか? それを実現するために、ファイル内の何かを変更する必要がありますdatabase.yml
か?
次のコマンドを実行しました。
heroku db:push
エラーが発生しています:
Sending data
2 tables, 3 records
!!! Caught Server Exception | ETA: --:--:--
Taps Server Error: PGError ERROR: duplicate key value violates unique constraint
"unique_schema_migrations"
2 つのテーブルがあります。1 つはアプリ用に作成し、もう 1 つはschema_migrations
. 2 つのテーブルの合計エントリ数は 3 です。また、作成したテーブルにあるエントリの数も出力していますが、0 と表示されています。
私が見逃している可能性のあるものや間違っていることはありますか?
編集:
上記を理解しました.HerokuのDBschema_migrations
には、移行を実行した瞬間がすでにあります.
新しい質問:特定のテーブルのデータが Heroku DB にプッシュされないようにする方法を知っている人はいますか? この場合に除外するテーブルは になりますschema_migrations
。
あまり良い解決策ではありません:私はグーグルで検索しましたが、他の誰かが同じ問題を抱えていました。彼は、schema_migrations
テーブルにという名前を付けることを提案しましたzschema_migrations
。このようにして、最後のテーブルで失敗するまで、他のテーブルからのデータが適切にプッシュされます。それはかなり悪い解決策ですが、当分の間はうまくいきます。
より良い解決策は、データベースから特定のテーブルをリセットできる既存の Rails コマンドを使用することです。それはできないと思いますRake
。