проблема с версией миграции rails: любая новая миграция не работает

С сегодняшнего утра я сталкиваюсь со странными проблемами с разработкой Rails. Ниже приведен вывод моей команды 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 выдаст ошибку, которая говорит мне, что какой-то столбец уже существует, и завершается ошибкой.

Мой неудачный код миграции находится здесь:

class AddConfirmableToDevise < ActiveRecord::Migration
  def change
    change_table(:users) do |t|
      t.confirmable
    end
    add_index :users, :confirmation_token,   :unique => true
  end
end

Я специально не хочу использовать методы вверх и вниз из-за этого

Пожалуйста помоги.


person hrishikeshp19    schedule 03.02.2012    source источник
comment
Можете ли вы вставить сюда ошибочный код миграции.   -  person Vik    schedule 03.02.2012
comment
@Vik: в отредактированном посте есть подробности.   -  person hrishikeshp19    schedule 03.02.2012


Ответы (1)


Потратив часы на поиск решения, я решил сдаться и побежал

rake db:migrate:reset

И это сработало, единственное, мои данные были потеряны, что на тот момент не было такой уж большой проблемой.

Спасибо всем за попытку решить эту проблему.

person hrishikeshp19    schedule 03.02.2012