2011-10-21 9 views
7

これはバグか、実際にmigration.rbファイルを削除したかどうかはわかりません。私は、次の移行を作成するために発生する使用:migration.rbファイルを削除しましたか?レールの潜在的なバグ?

$ rails generate migration add_delta_to_submissions

invoke active_record 
    create db/migrate/20111020175649_add_delta_to_submissions.rb 

私は、私はすべての列を含めることを怠っことに気づいたので、私はコンソールにUP ARROWを使用して破壊して生成上書き:

$ rails destroy migration add_delta_to_submissions

invoke active_record 
    remove db/migrate/20111020175649_add_delta_to_submissions.rb 

すべての良い今のところ、私は必要な列での移行を実行するために、今その時間。私はおそらくコマンドのためにUP ARROWを使用してはいけません実現

$ rails destroy migration add_delta_to_submissions delta:integer

invoke active_record 
    remove migration.rb 

:私は再びUP ARROWを使用 - - - しかし、一度だけ、私の列の情報を追加して、問題がでてくるのはここですGENERATEとDESTROY(習得しました!)のような揮発性ですが、そのコマンドはmigration.rbファイルを削除したということを戻しました。私はmigration.rbファイルがあることを知りませんでした - 特に簡単に削除できるものはありませんでした。キックのために

、私は言葉の移行の最後に文字xを追加することにより、コマンドコンソールを試してみて、トリックすることを決めた - と、このメッセージを受け取っ:

$ rails destroy migrationx add_delta_to_submissions delta:integer

Could not find generator migrationx. 

をので、私はそこだと思いますrails destroyコマンドのバグかもしれません。 add_delta_to_submissions.rbファイルがなくなったことが分かったら、それをただちに切り捨てて、.rbを単語の移行(またはDESTROYの後ろの単語)に貼り付けました。それはちょっと危険です....

私は自分のRAILS環境(rails 3.1、ruby 1.8.7)に何らかの妥協をしてmigration.rbファイルが削除されたかどうかを知りたいと思っています。もしそうなら、その状況を修正するための私の選択肢は何ですか?

多くのおかげで、事前に...

+0

同じことがちょうど私に起こった。何が起こったのか分かりましたか? – marimaf

+1

破壊コマンドを実行したが、移行名の末尾に.rbを付けると(私は老人だから)同じことが起こった。私はそれが無害だと思うが、ジェネレータのなんらかの種類のバグだ。 –

答えて

1

あなたのシステムにgitを持っていますか?今日も同じことが起こり、私は走りました:

git diff | grep migration 

私のシステムには何も出ませんでした。ファイルを検索しても、Rails 3.1プロジェクトでmigration.rbが見つかりませんでした。おそらくそれを何の害もなく無視することができますか?

+0

他のRailsのプロジェクトやファイルを意味します。ごめんなさい。 –

+0

あなたのコメントをあなたの答えに編集できます。 – meagar

2

コマンドに

$rails migration destroy non-existing-migration-name 

invoke active_record 
remove migration.rb 

を破壊するためのパラメータとして非既存の移行名を入力するときにも発生しかし、私はそれが無害だと思います。

+0

それも私に起こります。 –

0

同じことが私に起こりました。

ActiveRecord内にmigration.rbというファイルがありますが、extend ActiveRecord::Baseでも可能ですが、実際にはそれらのファイルにあなたのrailsプロジェクトディレクトリのどこかから実際にアクセスできるかどうかはわかりません。

自動レール破壊コマンドではなく、deleting the migration file manuallyの先例があるようです。

関連する問題