1

開発環境、本番環境ともにmysql Ver 14.14を使用しました。次のようなデータベース移行ファイルがあります。

class ChangeRoleToNodeTemplate < ActiveRecord::Migration
  def up
    rename_table :roles, :node_templates
  end

  def down
    rename_table :node_templates, :roles
  end
end

「rake db:migrate」コマンドを実行すると、生成された schema.rb ファイルが正しく表示されます。

しかし、「rake db:migrate RAILS_ENV=production」を実行すると、同じスキーマを持つ「roles」テーブルと「node_templates」テーブルの両方が含まれます。

誰でも私に提案をすることができますか?ありがとう。

Rails 3.1.0を使用しました

4

1 に答える 1

1

なぜ、どのようにこれが起こったのかはわかりませんが、スキーマをロードしてチェックするだけでなく、最初に本番データベースを完全にロールバックしようとします

本番データベースをロールバックするには:

rake db:rollback RAILS_ENV=production STEP=100

スキーマをロードするには:

rake db:schema:load RAILS_ENV=production
于 2012-04-13T11:26:50.230 に答える