From b1bd65599809876e7c12c6bc91137b42dc1bd822 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 2 Mar 2016 15:30:32 +0100 Subject: [PATCH] Fixed database schema and migrations for Devise --- db/migrate/20150503133405_create_users.rb | 2 - ...0150713153950_change_users_to_authlogic.rb | 23 --------- .../20160302135740_add_devise_to_users.rb | 49 +++++++++++++++++++ db/schema.rb | 28 ++++++----- 4 files changed, 64 insertions(+), 38 deletions(-) delete mode 100644 db/migrate/20150713153950_change_users_to_authlogic.rb create mode 100644 db/migrate/20160302135740_add_devise_to_users.rb diff --git a/db/migrate/20150503133405_create_users.rb b/db/migrate/20150503133405_create_users.rb index 51330f2..05ed448 100644 --- a/db/migrate/20150503133405_create_users.rb +++ b/db/migrate/20150503133405_create_users.rb @@ -1,9 +1,7 @@ class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| - t.text :email t.text :realname - t.text :password t.timestamps null: false end diff --git a/db/migrate/20150713153950_change_users_to_authlogic.rb b/db/migrate/20150713153950_change_users_to_authlogic.rb deleted file mode 100644 index 29aebb2..0000000 --- a/db/migrate/20150713153950_change_users_to_authlogic.rb +++ /dev/null @@ -1,23 +0,0 @@ -class ChangeUsersToAuthlogic < ActiveRecord::Migration - def change - change_table :users do |t| - # Remove the password column that was previously introduced - t.remove :password - - # Create AuthLogic fields - t.string :password_salt, :null => false # optional, but highly recommended - t.string :persistence_token, :null => false # required - - # Magic columns, just like ActiveRecord's created_at and updated_at. These are automatically maintained by Authlogic if they are present. - t.integer :login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns - t.integer :failed_login_count, :null => false, :default => 0 # optional, see Authlogic::Session::MagicColumns - t.datetime :last_request_at # optional, see Authlogic::Session::MagicColumns - t.datetime :current_login_at # optional, see Authlogic::Session::MagicColumns - t.datetime :last_login_at # optional, see Authlogic::Session::MagicColumns - t.string :current_login_ip # optional, see Authlogic::Session::MagicColumns - t.string :last_login_ip # optional, see Authlogic::Session::MagicColumns - end - change_column :packages, :long_description, :text - - end -end diff --git a/db/migrate/20160302135740_add_devise_to_users.rb b/db/migrate/20160302135740_add_devise_to_users.rb new file mode 100644 index 0000000..990d091 --- /dev/null +++ b/db/migrate/20160302135740_add_devise_to_users.rb @@ -0,0 +1,49 @@ +class AddDeviseToUsers < ActiveRecord::Migration + def self.up + change_table(:users) 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, null: false + t.datetime :current_sign_in_at + t.datetime :last_sign_in_at + t.inet :current_sign_in_ip + t.inet :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 + + + # Uncomment below if timestamps were not included in your original model. + t.timestamps null: false + end + + add_index :users, :email, unique: true + # add_index :users, :reset_password_token, unique: true + # add_index :users, :confirmation_token, unique: true + # add_index :users, :unlock_token, unique: true + 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 diff --git a/db/schema.rb b/db/schema.rb index e04d457..62116f6 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150713153950) do +ActiveRecord::Schema.define(version: 20160302135740) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -65,20 +65,22 @@ ActiveRecord::Schema.define(version: 20150713153950) do add_index "screenshots", ["id", "uploaderhash"], name: "id_uploaderhash", using: :btree create_table "users", force: :cascade do |t| - t.text "email" t.text "realname" - t.datetime "created_at", null: false - t.datetime "updated_at", null: false - t.string "password_salt", null: false - t.string "persistence_token", null: false - t.integer "login_count", default: 0, null: false - t.integer "failed_login_count", default: 0, null: false - t.datetime "last_request_at" - t.datetime "current_login_at" - t.datetime "last_login_at" - t.string "current_login_ip" - t.string "last_login_ip" + t.string "email", default: "", null: false + t.string "encrypted_password", default: "", null: false + t.integer "sign_in_count", default: 0, null: false + t.datetime "current_sign_in_at" + t.datetime "last_sign_in_at" + t.inet "current_sign_in_ip" + t.inet "last_sign_in_ip" + t.integer "failed_attempts", default: 0, null: false + t.string "unlock_token" + t.datetime "locked_at" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false end + add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree + add_foreign_key "screenshots", "packages", name: "screenshots_package_id_fkey" end