Devise install from existing model/database

后端 未结 1 354
广开言路
广开言路 2021-01-02 11:12

I am wondering how can i add devise to an existing database with a different user. Here I already have a customer model define and I want to change to allow devise to work o

相关标签:
1条回答
  • 2021-01-02 11:22

    It looks like that documentation is outdated.

    Try using devise generator, it will create same migration, with correct parameters, it's ok if its an existing model:

    rails g devise customer
    

    it should create AddDeviseToCustomers migration

    with something similar to this:

    class AddDeviseToCustomers < ActiveRecord::Migration
    def self.up
    change_table(:customers) do |t|
      ## Database authenticatable
      t.string :email,              :null => false, :default => ""
      t.string :encrypted_password, :null => false, :default => ""
    
      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at
    
      ## Rememberable
      t.datetime :remember_created_at
    
      ## Trackable
      t.integer  :sign_in_count, :default => 0
      t.datetime :current_sign_in_at
      t.datetime :last_sign_in_at
      t.string   :current_sign_in_ip
      t.string   :last_sign_in_ip
    
      ## Confirmable
      t.string   :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
      t.string   :unconfirmed_email # Only if using reconfirmable
    
      ## Lockable
      # t.integer  :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at
    
      ## Token authenticatable
      # t.string :authentication_token
    
    
      # Uncomment below if timestamps were not included in your original model.
      # t.timestamps
    end
    
    def self.down
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
    end
    end
    

    note that there is no more t.confirmable

    0 讨论(0)
提交回复
热议问题