0

移行を実行して、Heroku.com(Railsアプリ)の本番データベース(Postgre)のテーブルにプロパティ/列を追加する必要があります。移行を実行すると問題ないように見えますが、テーブルの列を表示しても列が追加されていません。

私の開発データベースはsqlite3で、本番データベースはpostgreです。

私は次のことをします:

heroku run rails generate migration AddUtc_OffsetToEvents utc_offset:integer RAILS_ENV=production --app app-name-1111

そしてそれは戻ります:

invoke  active_record
      create    db/migrate/20130304070946_add_utc_offset_to_events.rb

そして、移行を実行します

heroku run rake db:migrate RAILS_ENV=production --app app-name-1111 

その後:

heroku restart

私が走るとき

heroku pg:psql HEROKU_POSTGRESQL_GRAY_URL --app app-name-1111

テーブルの列を確認します。

\d+ events

まだutc_offset列がなく、前のcmdを実行しているときにエラーが表示されることはありません。

アイデアやヒントはありますか?

4

2 に答える 2

2

にいくつかの呼び出しを行っているようですheroku run

実行するたびheroku runに、最新のコードで完全に新しいdynoが起動し、実行が終了すると、そのdynoは破棄されます。したがって、2回目のherokuの実行では、最初の実行で作成された移行ファイルはありません。

すでにpsqlに精通しているので、ALTER TABLE直接使用できます。それ以外の場合は、コードへの移行git push heroku masterとherokuへの移行を確認してから実行する必要があります。

于 2013-03-05T00:15:36.847 に答える
0

コードをダウンロードし、移行を追加して変更をプッシュしてみませんか?その後、アプリでheroku run rake db:migrateを実行します。

于 2013-03-05T14:35:23.130 に答える