class CreateArchangelUsers < ActiveRecord::Migration[5.1] def change create_table :archangel_users do |t| ## Common t.integer :site_id, null: false t.string :name, null: false, default: "" t.string :username, null: false, default: "" t.string :role t.string :avatar ## 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, null: false 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, null: false # Only if lock strategy is :failed_attempts t.string :unlock_token # Only if unlock strategy is :email or :both t.datetime :locked_at ## Invitable t.string :invitation_token t.datetime :invitation_created_at t.datetime :invitation_sent_at t.datetime :invitation_accepted_at t.integer :invitation_limit t.references :invited_by, polymorphic: true t.integer :invitations_count, default: 0 ## Common t.datetime :deleted_at t.timestamps null: false end add_index :archangel_users, :email add_index :archangel_users, :reset_password_token, unique: true add_index :archangel_users, :confirmation_token, unique: true add_index :archangel_users, :unlock_token, unique: true add_index :archangel_users, :deleted_at add_index :archangel_users, :name add_index :archangel_users, :role add_index :archangel_users, :site_id add_index :archangel_users, :username add_index :archangel_users, :invitations_count add_index :archangel_users, :invitation_token, unique: true add_index :archangel_users, :invited_by_id end end