2014-02-19 153 views
0

我原來有一個名爲CreateUsers的遷移已經有一個表。Rails破壞模型不刪除遷移

由於我的愚蠢,我以爲我不得不做一個軌道生成遷移爲了添加索引到表。當我做了遷移它是這樣的:

rails generate migration CreateUsers years:integer 

所以它創建了一個遷移與時間戳等,並使用該

rails d migration migration_filename 

它給了我關於這個

一些錯誤我試圖刪除
/Users/giowong/.rvm/gems/ruby-2.0.0-p353/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:57:in `validate_file_name!': Illegal name for migration file: 20140219230444_create_create_users.rb (ActiveRecord::IllegalMigrationNameError) 

在schema.rb表stll存在

我應該手動刪除機器人H?

回答

1

您不希望針對文件名運行rails d,而是針對您在生成中的遷移名稱。

嘗試:rails d migration CreateUsers

爲了刪除表,你會想rollback遷移,以及:

rake db:rollback STEP=1

STEP=1假定這是最後運行遷移。如果您在應用中使用捆綁軟件,您可能還需要預先配置bundle exec

+0

謝謝!修復它。快速的問題....我只是做了一個新的遷移和時間戳不包括在表中......我應該擔心嗎? –

+0

您在遷移中是否包含「t.timestamps」或類似的行?你可以添加這個與另一個遷移到同一個表... – CDub

+0

我想t.timestamps會自動生成每次你做一個新的遷移? –