diff --git a/app/models/user.rb b/app/models/user.rb index 2d33ebc3c2e323fd993815b82cb60a026175c22c..fb0e7148fe193d9e5962cef26a68ea93aa61c1de 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -3,7 +3,7 @@ class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable - devise :database_authenticatable, :registerable, + devise :database_authenticatable, :registerable, :confirmable, :recoverable, :rememberable, :trackable, :validatable has_many :posts, dependent: :destroy diff --git a/db/migrate/20200517105207_add_confirmable_to_devise.rb b/db/migrate/20200517105207_add_confirmable_to_devise.rb new file mode 100644 index 0000000000000000000000000000000000000000..c1a534792f7c5d4f16640ad4a1d68ef593076ba4 --- /dev/null +++ b/db/migrate/20200517105207_add_confirmable_to_devise.rb @@ -0,0 +1,16 @@ +class AddConfirmableToDevise < ActiveRecord::Migration[5.2] + def up + add_column :users, :confirmation_token, :string + add_column :users, :confirmed_at, :datetime + add_column :users, :confirmation_sent_at, :datetime + add_column :users, :unconfirmed_email, :string + add_index :users, :confirmation_token, unique: true + + User.update_all confirmed_at: DateTime.now + end + + def down + remove_columns :users, :confirmation_token, :confirmed_at, :confirmation_sent_at + remove_columns :users, :unconfirmed_email + end +end diff --git a/db/schema.rb b/db/schema.rb index 8eaa2d1ebc9f7952320a9c449af366b4d5be01af..f023d65a246bc81154131fae3636e21b117fc42c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_05_16_162625) do +ActiveRecord::Schema.define(version: 2020_05_17_105207) do create_table "active_storage_attachments", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| t.string "name", null: false @@ -354,6 +354,11 @@ ActiveRecord::Schema.define(version: 2020_05_16_162625) do t.datetime "login_token_expires_at" t.string "two_factor_token" t.boolean "enabled_2fa", default: false + t.string "confirmation_token" + t.datetime "confirmed_at" + t.datetime "confirmation_sent_at" + t.string "unconfirmed_email" + t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true t.index ["email"], name: "index_users_on_email", unique: true t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true t.index ["username"], name: "index_users_on_username"