Как добавить столбцы в devise после начального рейка create_table? - PullRequest
5 голосов
/ 14 июня 2011

Я установил Devise, разгреб, а потом понял, что хочу добавить: подтверждаемый.

Могу ли я вернуться к той же первоначальной миграции и просто раскомментировать помощника, который мне нужен, и затем снова набрать в db: migrate?

Я попробовал, но это не сработало. Но я не видел пример того, как создать последующую миграцию.

Спасибо!

Вот что я попробовал:

  1 class AddConfirmableToUsers < ActiveRecord::Migration 
  2   def self.up 
  3     change_table :users do |t| 
  4       t.confirmable 
  5     end 
  6     add_index :users, :confirmation_token,   :unique => true  
  7   end 
  8    
  9   def self.down 
 10     remove_column :users, :confirmation_token 
 11   end 
 12   
 13 end 

Ответы [ 2 ]

4 голосов
/ 14 июня 2011

Вы можете сами добавить нужные столбцы, например:

class AddConfirmableToUsers < ActiveRecord::Migration
  def self.up
    change_table :users do |t|
      t.string :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
    end

    add_index :users, :confirmation_token, :unique => true
  end

  def self.down
    change_table :users do |t|
      t.remove :confirmation_token, :confirmed_at, :confirmation_sent_at
    end

    remove_index :users, :confirmation_token
  end
end
0 голосов
/ 14 июня 2011

Ваша миграция должна работать.Вы проверили модель User, чтобы убедиться, что :confirmable включен?По умолчанию он закомментирован.

Если вы не возражаете против потери своих данных, вы можете просто сделать

> rake db:drop

В противном случае вы можете просто отредактировать начальную миграцию и выполнить откат.

# get the current migration version
> rake db:version
> Current version: ****************41
> rake db:rollback ****************40

Внесите изменения

> rake db:migrate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...