从今天早上起,我面临着Rails设计的奇怪问题。以下是my ls和rake db version命令的输出。
hrishikesh@hrishikesh-ubuntu:~/git-public/personaldiary/db/migrate$ ls -1
20120110083934_devise_create_users.rb
20120110090514_create_posts.rb
20120110090845_add_user_id_to_post.rb
20120203035323_add_confirmable_to_devise.rb
20120203035323_add_confirmable_to_devise.rb~
20120203043601_add_lockable_to_devise.rb
20120203043601_add_lockable_to_devise.rb~
hrishikesh@hrishikesh-ubuntu:~/git-public/personaldiary/db/migrate$ rake db:version
(in /home/hrishikesh/git-public/personaldiary)
DEPRECATION WARNING: require "activerecord" is deprecated and will be removed in Rails 3. Use require "active_record" instead. (called from /usr/lib/ruby/vendor_ruby/activerecord.rb:2)
Current version: 20120203034555
hrishikesh@hrishikesh-ubuntu:~/git-public/personaldiary/db/migrate$
如果我尝试添加任何新的迁移,请使用rake db:migrate throws错误,该错误告诉我某些列已经存在,并且失败。
我失败的迁移代码在这里:
class AddConfirmableToDevise < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
end
由于this
,我特别不想使用up和down方法请帮忙。
答案 0 :(得分:2)
花了几个小时寻找解决方案后,我决定放弃并运行
rake db:migrate:reset
它起作用了,唯一的问题是我的数据丢失了,此时此刻并没有那么重要。
感谢大家试图解决这个问题。