1

重複の可能性:
データベース固有の移行コード

それで、MySQLをローカルで実行します。これは、私がインストールしたものであり、私にとって意味があるからです。

ただし、HerokuはPostgreを使用しており、同じフィールドタイプはありません。

つまり、私はローカルでlongblobを使用しており、本番環境ではbyteaになります。私はローカルでtinytextを使用していますが、これは単なるテキストになります

移行内でさまざまな環境を指定して、herokuにプッシュするためだけに移行を編集する必要がないようにするにはどうすればよいですか?(ローカルマシンに対して構文的に正しい状態を維持したい)

他に何か提案はありますか?

4

2 に答える 2

2

慣れているものをローカルで実行したいのは簡単なので、理解しています。さらに、IMO、Postgresをローカルにセットアップすることは、これまで常に苦痛でした。ただし、本番サーバーと同じDBで開発を実行することが非常に重要です。Macユーザーの場合、Herokupostgresチーム以外の誰もが持ってきた優れたソリューションがあります。

http://postgresapp.com/

それを使用すれば、これについて心配する必要はありません。それ以外の場合は、 Muによって投稿された回答に従ってください。これにより、邪悪な2つのデータベースの処理を実行できます:)

于 2012-08-29T02:50:48.020 に答える
0

ここで推測しているだけですが、2つの異なる移行ファイルを作成してみませんか。1つは開発用、もう1つは本番用で、次のようなものを使用します。

rake db:migrate VERSION=00000000000001 RAILS_ENV=production

rake db:migrate VERSION=00000000000002 RAILS_ENV=development
于 2012-08-29T00:03:06.000 に答える