devise_token_auth 0.1.32.beta1 → 0.1.32.beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a6db46d47cb82dbcd91ba1a029e915a309992cec
4
- data.tar.gz: beaf5098baa02af508f732d89e12d9e1f34418a9
3
+ metadata.gz: 3450d2f26191c0b52822592c53daa9f3fc04bf0b
4
+ data.tar.gz: 26113778530b14ceb185f6d863f3796cef6d6b7e
5
5
  SHA512:
6
- metadata.gz: 71cf52ee3bafd911d44da142fb71540081823fae06c4dd7cac1c9933d08e314bba7135d014e0fe2b46362adc14bf04946bf0d55d77d1927498697c9d56316c44
7
- data.tar.gz: cf3c5bdb7b15b6c4e2672f9176bbd76c90b8680be8c2673d6782fc400d3d4f24e39b7bababc261e3de75e234f9ee244651e972c1135a9d9688dd74f3aca96562
6
+ metadata.gz: 26ba4b1aba7a0adab059b46ce5b5506870ce6c7c04eb3a584465a7dcab734eb72b8670c23ed153c55935acefc7c3a9d0971f1705a909433a3c73f4f55902b670
7
+ data.tar.gz: d0bdee7c56178b4fc3b70641d08ec3f93af32005f2d095dc05fe3ed8e4ef2cd3f76b7573c459577f94252f77f1dfc99dc35a69ea1fd463d5febc741e7b81ddc8
@@ -4,22 +4,27 @@ module DeviseTokenAuth
4
4
  before_filter :set_user_by_token, :only => [:destroy]
5
5
 
6
6
  def create
7
- # honor devise configuration for case_insensitive_keys
8
- if resource_class.case_insensitive_keys.include?(:email)
9
- email = resource_params[:email].downcase
10
- else
11
- email = resource_params[:email]
12
- end
7
+ # Check
8
+ field = (resource_params.keys.map(&:to_sym) & resource_class.authentication_keys).first
13
9
 
14
- q = "uid = ? AND provider='email'"
10
+ @resource = nil
11
+ if field
12
+ q_value = resource_params[field]
15
13
 
16
- if ActiveRecord::Base.connection.adapter_name.downcase.starts_with? 'mysql'
17
- q = "BINARY uid = ? AND provider='email'"
18
- end
14
+ if resource_class.case_insensitive_keys.include?(field)
15
+ q_value.downcase!
16
+ end
19
17
 
20
- @resource = resource_class.where(q, email).first
18
+ q = "#{field.to_s} = ? AND provider='email'"
19
+
20
+ if ActiveRecord::Base.connection.adapter_name.downcase.starts_with? 'mysql'
21
+ q = "BINARY " + q
22
+ end
23
+
24
+ @resource = resource_class.where(q, q_value).first
25
+ end
21
26
 
22
- if @resource and valid_params? and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
27
+ if @resource and valid_params?(field, q_value) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
23
28
  # create client id
24
29
  @client_id = SecureRandom.urlsafe_base64(nil, false)
25
30
  @token = SecureRandom.urlsafe_base64(nil, false)
@@ -76,12 +81,36 @@ module DeviseTokenAuth
76
81
  end
77
82
  end
78
83
 
79
- def valid_params?
80
- resource_params[:password] && resource_params[:email]
84
+ def valid_params?(key, val)
85
+ resource_params[:password] && key && val
81
86
  end
82
87
 
83
88
  def resource_params
84
89
  params.permit(devise_parameter_sanitizer.for(:sign_in))
85
90
  end
91
+
92
+ def get_auth_params
93
+ auth_key = nil
94
+ auth_val = nil
95
+
96
+ # iterate thru allowed auth keys, use first found
97
+ resource_class.authentication_keys.each do |k|
98
+ if resource_params[k]
99
+ auth_val = resource_params[k]
100
+ auth_key = k
101
+ break
102
+ end
103
+ end
104
+
105
+ # honor devise configuration for case_insensitive_keys
106
+ if resource_class.case_insensitive_keys.include?(auth_key)
107
+ auth_val.downcase!
108
+ end
109
+
110
+ return {
111
+ key: auth_key,
112
+ val: auth_val
113
+ }
114
+ end
86
115
  end
87
116
  end
@@ -5,8 +5,7 @@ module DeviseTokenAuth::Concerns::User
5
5
  # Hack to check if devise is already enabled
6
6
  unless self.method_defined?(:devise_modules)
7
7
  devise :database_authenticatable, :registerable,
8
- :recoverable, :trackable, :validatable,
9
- :confirmable
8
+ :recoverable, :trackable, :validatable, :confirmable
10
9
  else
11
10
  self.devise_modules.delete(:omniauthable)
12
11
  end
@@ -39,7 +38,6 @@ module DeviseTokenAuth::Concerns::User
39
38
  false
40
39
  end
41
40
 
42
-
43
41
  # override devise method to include additional info as opts hash
44
42
  def send_confirmation_instructions(opts=nil)
45
43
  unless @raw_confirmation_token
@@ -1,3 +1,3 @@
1
1
  module DeviseTokenAuth
2
- VERSION = "0.1.32.beta1"
2
+ VERSION = "0.1.32.beta2"
3
3
  end
@@ -73,6 +73,20 @@ class DeviseTokenAuth::SessionsControllerTest < ActionController::TestCase
73
73
  end
74
74
  end
75
75
 
76
+ describe 'alt auth keys' do
77
+ before do
78
+ xhr :post, :create, {
79
+ nickname: @existing_user.nickname,
80
+ password: 'secret123'
81
+ }
82
+ @data = JSON.parse(response.body)
83
+ end
84
+
85
+ test 'user can sign in using nickname' do
86
+ assert_equal 200, response.status
87
+ assert_equal @existing_user.email, @data['data']['email']
88
+ end
89
+ end
76
90
 
77
91
  describe 'authed user sign out' do
78
92
  before do
@@ -5,7 +5,7 @@ module Overrides
5
5
  def create
6
6
  @resource = resource_class.find_by_email(resource_params[:email])
7
7
 
8
- if @resource and valid_params? and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
8
+ if @resource and valid_params?(:email, resource_params[:email]) and @resource.valid_password?(resource_params[:password]) and @resource.confirmed?
9
9
  # create client id
10
10
  @client_id = SecureRandom.urlsafe_base64(nil, false)
11
11
  @token = SecureRandom.urlsafe_base64(nil, false)
@@ -0,0 +1,3 @@
1
+ Devise.setup do |config|
2
+ config.authentication_keys = [:email, :nickname]
3
+ end
Binary file
@@ -51,6 +51,7 @@ class DeviseTokenAuthCreateUsers < ActiveRecord::Migration
51
51
  add_index :users, [:uid, :provider], :unique => true
52
52
  add_index :users, :reset_password_token, :unique => true
53
53
  add_index :users, :confirmation_token, :unique => true
54
+ add_index :users, :nickname, :unique => true
54
55
  # add_index :users, :unlock_token, :unique => true
55
56
  end
56
57
  end
@@ -13,147 +13,148 @@
13
13
 
14
14
  ActiveRecord::Schema.define(version: 20141222053502) do
15
15
 
16
- create_table "evil_users", force: true do |t|
17
- t.string "email"
18
- t.string "encrypted_password", default: "", null: false
19
- t.string "reset_password_token"
16
+ create_table "evil_users", force: :cascade do |t|
17
+ t.string "email", limit: 255
18
+ t.string "encrypted_password", limit: 255, default: "", null: false
19
+ t.string "reset_password_token", limit: 255
20
20
  t.datetime "reset_password_sent_at"
21
21
  t.datetime "remember_created_at"
22
- t.integer "sign_in_count", default: 0, null: false
22
+ t.integer "sign_in_count", limit: 4, default: 0, null: false
23
23
  t.datetime "current_sign_in_at"
24
24
  t.datetime "last_sign_in_at"
25
- t.string "current_sign_in_ip"
26
- t.string "last_sign_in_ip"
27
- t.string "confirmation_token"
25
+ t.string "current_sign_in_ip", limit: 255
26
+ t.string "last_sign_in_ip", limit: 255
27
+ t.string "confirmation_token", limit: 255
28
28
  t.datetime "confirmed_at"
29
29
  t.datetime "confirmation_sent_at"
30
- t.string "unconfirmed_email"
31
- t.string "name"
32
- t.string "nickname"
33
- t.string "image"
34
- t.string "provider"
35
- t.string "uid", default: "", null: false
36
- t.text "tokens"
37
- t.string "favorite_color"
30
+ t.string "unconfirmed_email", limit: 255
31
+ t.string "name", limit: 255
32
+ t.string "nickname", limit: 255
33
+ t.string "image", limit: 255
34
+ t.string "provider", limit: 255
35
+ t.string "uid", limit: 255, default: "", null: false
36
+ t.text "tokens", limit: 65535
37
+ t.string "favorite_color", limit: 255
38
38
  t.datetime "created_at"
39
39
  t.datetime "updated_at"
40
40
  end
41
41
 
42
- add_index "evil_users", ["confirmation_token"], name: "index_evil_users_on_confirmation_token", unique: true
43
- add_index "evil_users", ["email"], name: "index_evil_users_on_email"
44
- add_index "evil_users", ["reset_password_token"], name: "index_evil_users_on_reset_password_token", unique: true
45
- add_index "evil_users", ["uid", "provider"], name: "index_evil_users_on_uid_and_provider", unique: true
42
+ add_index "evil_users", ["confirmation_token"], name: "index_evil_users_on_confirmation_token", unique: true, using: :btree
43
+ add_index "evil_users", ["email"], name: "index_evil_users_on_email", using: :btree
44
+ add_index "evil_users", ["reset_password_token"], name: "index_evil_users_on_reset_password_token", unique: true, using: :btree
45
+ add_index "evil_users", ["uid", "provider"], name: "index_evil_users_on_uid_and_provider", unique: true, using: :btree
46
46
 
47
- create_table "mangs", force: true do |t|
48
- t.string "email"
49
- t.string "encrypted_password", default: "", null: false
50
- t.string "reset_password_token"
47
+ create_table "mangs", force: :cascade do |t|
48
+ t.string "email", limit: 255
49
+ t.string "encrypted_password", limit: 255, default: "", null: false
50
+ t.string "reset_password_token", limit: 255
51
51
  t.datetime "reset_password_sent_at"
52
- t.string "reset_password_redirect_url"
52
+ t.string "reset_password_redirect_url", limit: 255
53
53
  t.datetime "remember_created_at"
54
- t.integer "sign_in_count", default: 0, null: false
54
+ t.integer "sign_in_count", limit: 4, default: 0, null: false
55
55
  t.datetime "current_sign_in_at"
56
56
  t.datetime "last_sign_in_at"
57
- t.string "current_sign_in_ip"
58
- t.string "last_sign_in_ip"
59
- t.string "confirmation_token"
57
+ t.string "current_sign_in_ip", limit: 255
58
+ t.string "last_sign_in_ip", limit: 255
59
+ t.string "confirmation_token", limit: 255
60
60
  t.datetime "confirmed_at"
61
61
  t.datetime "confirmation_sent_at"
62
- t.string "confirm_success_url"
63
- t.string "unconfirmed_email"
64
- t.string "name"
65
- t.string "nickname"
66
- t.string "image"
67
- t.string "provider"
68
- t.string "uid", default: "", null: false
69
- t.text "tokens"
62
+ t.string "confirm_success_url", limit: 255
63
+ t.string "unconfirmed_email", limit: 255
64
+ t.string "name", limit: 255
65
+ t.string "nickname", limit: 255
66
+ t.string "image", limit: 255
67
+ t.string "provider", limit: 255
68
+ t.string "uid", limit: 255, default: "", null: false
69
+ t.text "tokens", limit: 65535
70
70
  t.datetime "created_at"
71
71
  t.datetime "updated_at"
72
- t.string "favorite_color"
72
+ t.string "favorite_color", limit: 255
73
73
  end
74
74
 
75
- add_index "mangs", ["confirmation_token"], name: "index_mangs_on_confirmation_token", unique: true
76
- add_index "mangs", ["email"], name: "index_mangs_on_email"
77
- add_index "mangs", ["reset_password_token"], name: "index_mangs_on_reset_password_token", unique: true
78
- add_index "mangs", ["uid", "provider"], name: "index_mangs_on_uid_and_provider", unique: true
75
+ add_index "mangs", ["confirmation_token"], name: "index_mangs_on_confirmation_token", unique: true, using: :btree
76
+ add_index "mangs", ["email"], name: "index_mangs_on_email", using: :btree
77
+ add_index "mangs", ["reset_password_token"], name: "index_mangs_on_reset_password_token", unique: true, using: :btree
78
+ add_index "mangs", ["uid", "provider"], name: "index_mangs_on_uid_and_provider", unique: true, using: :btree
79
79
 
80
- create_table "only_email_users", force: true do |t|
81
- t.string "provider", null: false
82
- t.string "uid", default: "", null: false
83
- t.string "encrypted_password", default: "", null: false
84
- t.string "name"
85
- t.string "nickname"
86
- t.string "image"
87
- t.string "email"
88
- t.text "tokens"
80
+ create_table "only_email_users", force: :cascade do |t|
81
+ t.string "provider", limit: 255, null: false
82
+ t.string "uid", limit: 255, default: "", null: false
83
+ t.string "encrypted_password", limit: 255, default: "", null: false
84
+ t.string "name", limit: 255
85
+ t.string "nickname", limit: 255
86
+ t.string "image", limit: 255
87
+ t.string "email", limit: 255
88
+ t.text "tokens", limit: 65535
89
89
  t.datetime "created_at"
90
90
  t.datetime "updated_at"
91
91
  end
92
92
 
93
- add_index "only_email_users", ["email"], name: "index_only_email_users_on_email"
94
- add_index "only_email_users", ["uid", "provider"], name: "index_only_email_users_on_uid_and_provider", unique: true
93
+ add_index "only_email_users", ["email"], name: "index_only_email_users_on_email", using: :btree
94
+ add_index "only_email_users", ["uid", "provider"], name: "index_only_email_users_on_uid_and_provider", unique: true, using: :btree
95
95
 
96
- create_table "unregisterable_users", force: true do |t|
97
- t.string "provider", null: false
98
- t.string "uid", default: "", null: false
99
- t.string "encrypted_password", default: "", null: false
100
- t.string "reset_password_token"
96
+ create_table "unregisterable_users", force: :cascade do |t|
97
+ t.string "provider", limit: 255, null: false
98
+ t.string "uid", limit: 255, default: "", null: false
99
+ t.string "encrypted_password", limit: 255, default: "", null: false
100
+ t.string "reset_password_token", limit: 255
101
101
  t.datetime "reset_password_sent_at"
102
102
  t.datetime "remember_created_at"
103
- t.integer "sign_in_count", default: 0, null: false
103
+ t.integer "sign_in_count", limit: 4, default: 0, null: false
104
104
  t.datetime "current_sign_in_at"
105
105
  t.datetime "last_sign_in_at"
106
- t.string "current_sign_in_ip"
107
- t.string "last_sign_in_ip"
108
- t.string "confirmation_token"
106
+ t.string "current_sign_in_ip", limit: 255
107
+ t.string "last_sign_in_ip", limit: 255
108
+ t.string "confirmation_token", limit: 255
109
109
  t.datetime "confirmed_at"
110
110
  t.datetime "confirmation_sent_at"
111
- t.string "unconfirmed_email"
112
- t.string "name"
113
- t.string "nickname"
114
- t.string "image"
115
- t.string "email"
116
- t.text "tokens"
111
+ t.string "unconfirmed_email", limit: 255
112
+ t.string "name", limit: 255
113
+ t.string "nickname", limit: 255
114
+ t.string "image", limit: 255
115
+ t.string "email", limit: 255
116
+ t.text "tokens", limit: 65535
117
117
  t.datetime "created_at"
118
118
  t.datetime "updated_at"
119
119
  end
120
120
 
121
- add_index "unregisterable_users", ["email"], name: "index_unregisterable_users_on_email"
122
- add_index "unregisterable_users", ["reset_password_token"], name: "index_unregisterable_users_on_reset_password_token", unique: true
123
- add_index "unregisterable_users", ["uid", "provider"], name: "index_unregisterable_users_on_uid_and_provider", unique: true
121
+ add_index "unregisterable_users", ["email"], name: "index_unregisterable_users_on_email", using: :btree
122
+ add_index "unregisterable_users", ["reset_password_token"], name: "index_unregisterable_users_on_reset_password_token", unique: true, using: :btree
123
+ add_index "unregisterable_users", ["uid", "provider"], name: "index_unregisterable_users_on_uid_and_provider", unique: true, using: :btree
124
124
 
125
- create_table "users", force: true do |t|
126
- t.string "email"
127
- t.string "encrypted_password", default: "", null: false
128
- t.string "reset_password_token"
125
+ create_table "users", force: :cascade do |t|
126
+ t.string "email", limit: 255
127
+ t.string "encrypted_password", limit: 255, default: "", null: false
128
+ t.string "reset_password_token", limit: 255
129
129
  t.datetime "reset_password_sent_at"
130
- t.string "reset_password_redirect_url"
130
+ t.string "reset_password_redirect_url", limit: 255
131
131
  t.datetime "remember_created_at"
132
- t.integer "sign_in_count", default: 0, null: false
132
+ t.integer "sign_in_count", limit: 4, default: 0, null: false
133
133
  t.datetime "current_sign_in_at"
134
134
  t.datetime "last_sign_in_at"
135
- t.string "current_sign_in_ip"
136
- t.string "last_sign_in_ip"
137
- t.string "confirmation_token"
135
+ t.string "current_sign_in_ip", limit: 255
136
+ t.string "last_sign_in_ip", limit: 255
137
+ t.string "confirmation_token", limit: 255
138
138
  t.datetime "confirmed_at"
139
139
  t.datetime "confirmation_sent_at"
140
- t.string "confirm_success_url"
141
- t.string "unconfirmed_email"
142
- t.string "name"
143
- t.string "nickname"
144
- t.string "image"
145
- t.string "provider"
146
- t.string "uid", default: "", null: false
147
- t.text "tokens"
140
+ t.string "confirm_success_url", limit: 255
141
+ t.string "unconfirmed_email", limit: 255
142
+ t.string "name", limit: 255
143
+ t.string "nickname", limit: 255
144
+ t.string "image", limit: 255
145
+ t.string "provider", limit: 255
146
+ t.string "uid", limit: 255, default: "", null: false
147
+ t.text "tokens", limit: 65535
148
148
  t.datetime "created_at"
149
149
  t.datetime "updated_at"
150
- t.integer "operating_thetan"
151
- t.string "favorite_color"
150
+ t.integer "operating_thetan", limit: 4
151
+ t.string "favorite_color", limit: 255
152
152
  end
153
153
 
154
- add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
155
- add_index "users", ["email"], name: "index_users_on_email"
156
- add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
157
- add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true
154
+ add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree
155
+ add_index "users", ["email"], name: "index_users_on_email", using: :btree
156
+ add_index "users", ["nickname"], name: "index_users_on_nickname", unique: true, using: :btree
157
+ add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
158
+ add_index "users", ["uid", "provider"], name: "index_users_on_uid_and_provider", unique: true, using: :btree
158
159
 
159
160
  end
Binary file
@@ -10695,3 +10695,736 @@ Completed 200 OK in 81ms (Views: 0.3ms | ActiveRecord: 2.5ms)
10695
10695
  User Load (0.7ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
10696
10696
  User Load (0.2ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
10697
10697
  User Load (0.1ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
10698
+
10699
+
10700
+ Started GET "/auth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F" for 127.0.0.1 at 2015-02-08 19:53:18 -0600
10701
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
10702
+
10703
+
10704
+ Started GET "/omniauth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F&resource_class=User" for 127.0.0.1 at 2015-02-08 19:53:25 -0600
10705
+
10706
+
10707
+ Started GET "/auth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F" for 127.0.0.1 at 2015-02-08 19:56:34 -0600
10708
+
10709
+
10710
+ Started GET "/omniauth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F&resource_class=User" for 127.0.0.1 at 2015-02-08 19:56:34 -0600
10711
+
10712
+
10713
+ Started GET "/omniauth/github/callback?code=81b688cd8a55704e2445&state=53e573a7777a7396389de66fab516920d71d80ca4857cf0d" for 127.0.0.1 at 2015-02-08 19:56:38 -0600
10714
+ Processing by DeviseTokenAuth::OmniauthCallbacksController#redirect_callbacks as HTML
10715
+ Parameters: {"code"=>"81b688cd8a55704e2445", "state"=>"53e573a7777a7396389de66fab516920d71d80ca4857cf0d", "provider"=>"github"}
10716
+ Redirected to https://devise-token-auth.dev/auth/github/callback
10717
+ Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
10718
+
10719
+
10720
+ Started GET "/auth/github/callback" for 127.0.0.1 at 2015-02-08 19:56:39 -0600
10721
+ Processing by DeviseTokenAuth::OmniauthCallbacksController#omniauth_success as HTML
10722
+ Parameters: {"provider"=>"github"}
10723
+ User Load (12.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? AND "users"."provider" = ? ORDER BY "users"."id" ASC LIMIT 1 [["uid", "468037"], ["provider", "github"]]
10724
+  (0.1ms) begin transaction
10725
+ SQL (0.4ms) UPDATE "users" SET "tokens" = ?, "confirmed_at" = ?, "last_sign_in_at" = ?, "current_sign_in_at" = ?, "sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"3aX_-QQVRPQLf2wSjwneqw\":{\"token\":\"$2a$10$iqY791AXZ/9.ElrhHC1C/.j.3rEDDY4CwL9b34WHkf.6JQKZT8RUS\",\"expiry\":1424656599}}"], ["confirmed_at", "2015-02-09 01:56:39.588005"], ["last_sign_in_at", "2015-01-07 09:59:28.508713"], ["current_sign_in_at", "2015-02-09 01:56:39.588844"], ["sign_in_count", 3], ["updated_at", "2015-02-09 01:56:39.592876"], ["id", 5]]
10726
+  (3.0ms) commit transaction
10727
+  (0.0ms) begin transaction
10728
+  (0.0ms) commit transaction
10729
+ Rendered /Users/lynn/Code/Auth/devise_token_auth/app/views/devise_token_auth/omniauth_success.html.erb within layouts/omniauth_response (7.4ms)
10730
+ Completed 200 OK in 133ms (Views: 15.1ms | ActiveRecord: 16.2ms)
10731
+  (2.3ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL) 
10732
+  (0.1ms) select sqlite_version(*)
10733
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
10734
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
10735
+ Migrating to DeviseTokenAuthCreateUsers (20140715061447)
10736
+  (0.0ms) begin transaction
10737
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb:47)
10738
+  (0.4ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar, "encrypted_password" varchar DEFAULT '' NOT NULL, "reset_password_token" varchar, "reset_password_sent_at" datetime, "reset_password_redirect_url" varchar, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar, "last_sign_in_ip" varchar, "confirmation_token" varchar, "confirmed_at" datetime, "confirmation_sent_at" datetime, "confirm_success_url" varchar, "unconfirmed_email" varchar, "name" varchar, "nickname" varchar, "image" varchar, "provider" varchar, "uid" varchar DEFAULT '' NOT NULL, "tokens" text, "created_at" datetime, "updated_at" datetime)
10739
+  (0.1ms) CREATE INDEX "index_users_on_email" ON "users" ("email")
10740
+  (0.1ms) SELECT sql
10741
+ FROM sqlite_master
10742
+ WHERE name='index_users_on_email' AND type='index'
10743
+ UNION ALL
10744
+ SELECT sql
10745
+ FROM sqlite_temp_master
10746
+ WHERE name='index_users_on_email' AND type='index'
10747
+
10748
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_uid_and_provider" ON "users" ("uid", "provider")
10749
+  (0.1ms) SELECT sql
10750
+ FROM sqlite_master
10751
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10752
+ UNION ALL
10753
+ SELECT sql
10754
+ FROM sqlite_temp_master
10755
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10756
+
10757
+  (0.1ms)  SELECT sql
10758
+ FROM sqlite_master
10759
+ WHERE name='index_users_on_email' AND type='index'
10760
+ UNION ALL
10761
+ SELECT sql
10762
+ FROM sqlite_temp_master
10763
+ WHERE name='index_users_on_email' AND type='index'
10764
+ 
10765
+  (0.1ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
10766
+  (0.1ms)  SELECT sql
10767
+ FROM sqlite_master
10768
+ WHERE name='index_users_on_reset_password_token' AND type='index'
10769
+ UNION ALL
10770
+ SELECT sql
10771
+ FROM sqlite_temp_master
10772
+ WHERE name='index_users_on_reset_password_token' AND type='index'
10773
+ 
10774
+  (0.1ms) SELECT sql
10775
+ FROM sqlite_master
10776
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10777
+ UNION ALL
10778
+ SELECT sql
10779
+ FROM sqlite_temp_master
10780
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10781
+
10782
+  (0.1ms)  SELECT sql
10783
+ FROM sqlite_master
10784
+ WHERE name='index_users_on_email' AND type='index'
10785
+ UNION ALL
10786
+ SELECT sql
10787
+ FROM sqlite_temp_master
10788
+ WHERE name='index_users_on_email' AND type='index'
10789
+ 
10790
+  (0.1ms) CREATE UNIQUE INDEX "index_users_on_confirmation_token" ON "users" ("confirmation_token")
10791
+  (0.0ms)  SELECT sql
10792
+ FROM sqlite_master
10793
+ WHERE name='index_users_on_confirmation_token' AND type='index'
10794
+ UNION ALL
10795
+ SELECT sql
10796
+ FROM sqlite_temp_master
10797
+ WHERE name='index_users_on_confirmation_token' AND type='index'
10798
+ 
10799
+  (0.0ms) SELECT sql
10800
+ FROM sqlite_master
10801
+ WHERE name='index_users_on_reset_password_token' AND type='index'
10802
+ UNION ALL
10803
+ SELECT sql
10804
+ FROM sqlite_temp_master
10805
+ WHERE name='index_users_on_reset_password_token' AND type='index'
10806
+
10807
+  (0.1ms)  SELECT sql
10808
+ FROM sqlite_master
10809
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10810
+ UNION ALL
10811
+ SELECT sql
10812
+ FROM sqlite_temp_master
10813
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
10814
+ 
10815
+  (0.1ms) SELECT sql
10816
+ FROM sqlite_master
10817
+ WHERE name='index_users_on_email' AND type='index'
10818
+ UNION ALL
10819
+ SELECT sql
10820
+ FROM sqlite_temp_master
10821
+ WHERE name='index_users_on_email' AND type='index'
10822
+
10823
+  (0.1ms) CREATE UNIQUE INDEX "index_users_on_nickname" ON "users" ("nickname")
10824
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140715061447"]]
10825
+  (1.1ms) commit transaction
10826
+ Migrating to DeviseTokenAuthCreateMangs (20140715061805)
10827
+  (0.1ms) begin transaction
10828
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb:47)
10829
+  (0.4ms) CREATE TABLE "mangs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar, "encrypted_password" varchar DEFAULT '' NOT NULL, "reset_password_token" varchar, "reset_password_sent_at" datetime, "reset_password_redirect_url" varchar, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar, "last_sign_in_ip" varchar, "confirmation_token" varchar, "confirmed_at" datetime, "confirmation_sent_at" datetime, "confirm_success_url" varchar, "unconfirmed_email" varchar, "name" varchar, "nickname" varchar, "image" varchar, "provider" varchar, "uid" varchar DEFAULT '' NOT NULL, "tokens" text, "created_at" datetime, "updated_at" datetime) 
10830
+  (0.1ms) CREATE INDEX "index_mangs_on_email" ON "mangs" ("email")
10831
+  (0.1ms)  SELECT sql
10832
+ FROM sqlite_master
10833
+ WHERE name='index_mangs_on_email' AND type='index'
10834
+ UNION ALL
10835
+ SELECT sql
10836
+ FROM sqlite_temp_master
10837
+ WHERE name='index_mangs_on_email' AND type='index'
10838
+ 
10839
+  (0.5ms) CREATE UNIQUE INDEX "index_mangs_on_uid_and_provider" ON "mangs" ("uid", "provider")
10840
+  (0.1ms)  SELECT sql
10841
+ FROM sqlite_master
10842
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
10843
+ UNION ALL
10844
+ SELECT sql
10845
+ FROM sqlite_temp_master
10846
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
10847
+ 
10848
+  (0.1ms) SELECT sql
10849
+ FROM sqlite_master
10850
+ WHERE name='index_mangs_on_email' AND type='index'
10851
+ UNION ALL
10852
+ SELECT sql
10853
+ FROM sqlite_temp_master
10854
+ WHERE name='index_mangs_on_email' AND type='index'
10855
+
10856
+  (0.1ms) CREATE UNIQUE INDEX "index_mangs_on_reset_password_token" ON "mangs" ("reset_password_token")
10857
+  (0.1ms) SELECT sql
10858
+ FROM sqlite_master
10859
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
10860
+ UNION ALL
10861
+ SELECT sql
10862
+ FROM sqlite_temp_master
10863
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
10864
+
10865
+  (0.1ms)  SELECT sql
10866
+ FROM sqlite_master
10867
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
10868
+ UNION ALL
10869
+ SELECT sql
10870
+ FROM sqlite_temp_master
10871
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
10872
+ 
10873
+  (0.1ms) SELECT sql
10874
+ FROM sqlite_master
10875
+ WHERE name='index_mangs_on_email' AND type='index'
10876
+ UNION ALL
10877
+ SELECT sql
10878
+ FROM sqlite_temp_master
10879
+ WHERE name='index_mangs_on_email' AND type='index'
10880
+
10881
+  (0.1ms) CREATE UNIQUE INDEX "index_mangs_on_confirmation_token" ON "mangs" ("confirmation_token")
10882
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140715061805"]]
10883
+  (1.0ms) commit transaction
10884
+ Migrating to AddOperatingThetanToUser (20140829044006)
10885
+  (0.0ms) begin transaction
10886
+  (0.3ms) ALTER TABLE "users" ADD "operating_thetan" integer
10887
+  (0.2ms) ALTER TABLE "users" ADD "favorite_color" varchar
10888
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140829044006"]]
10889
+  (0.6ms) commit transaction
10890
+ Migrating to AddFavoriteColorToMangs (20140916224624)
10891
+  (0.0ms) begin transaction
10892
+  (0.3ms) ALTER TABLE "mangs" ADD "favorite_color" varchar
10893
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140916224624"]]
10894
+  (0.7ms) commit transaction
10895
+ Migrating to DeviseTokenAuthCreateEvilUsers (20140928231203)
10896
+  (0.0ms) begin transaction
10897
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb:48)
10898
+  (0.3ms) CREATE TABLE "evil_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar, "encrypted_password" varchar DEFAULT '' NOT NULL, "reset_password_token" varchar, "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar, "last_sign_in_ip" varchar, "confirmation_token" varchar, "confirmed_at" datetime, "confirmation_sent_at" datetime, "unconfirmed_email" varchar, "name" varchar, "nickname" varchar, "image" varchar, "provider" varchar, "uid" varchar DEFAULT '' NOT NULL, "tokens" text, "favorite_color" varchar, "created_at" datetime, "updated_at" datetime)
10899
+  (0.1ms) CREATE INDEX "index_evil_users_on_email" ON "evil_users" ("email")
10900
+  (0.1ms) SELECT sql
10901
+ FROM sqlite_master
10902
+ WHERE name='index_evil_users_on_email' AND type='index'
10903
+ UNION ALL
10904
+ SELECT sql
10905
+ FROM sqlite_temp_master
10906
+ WHERE name='index_evil_users_on_email' AND type='index'
10907
+
10908
+  (0.3ms) CREATE UNIQUE INDEX "index_evil_users_on_uid_and_provider" ON "evil_users" ("uid", "provider")
10909
+  (0.1ms) SELECT sql
10910
+ FROM sqlite_master
10911
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
10912
+ UNION ALL
10913
+ SELECT sql
10914
+ FROM sqlite_temp_master
10915
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
10916
+
10917
+  (0.1ms)  SELECT sql
10918
+ FROM sqlite_master
10919
+ WHERE name='index_evil_users_on_email' AND type='index'
10920
+ UNION ALL
10921
+ SELECT sql
10922
+ FROM sqlite_temp_master
10923
+ WHERE name='index_evil_users_on_email' AND type='index'
10924
+ 
10925
+  (0.1ms) CREATE UNIQUE INDEX "index_evil_users_on_reset_password_token" ON "evil_users" ("reset_password_token")
10926
+  (0.1ms)  SELECT sql
10927
+ FROM sqlite_master
10928
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
10929
+ UNION ALL
10930
+ SELECT sql
10931
+ FROM sqlite_temp_master
10932
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
10933
+ 
10934
+  (0.1ms) SELECT sql
10935
+ FROM sqlite_master
10936
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
10937
+ UNION ALL
10938
+ SELECT sql
10939
+ FROM sqlite_temp_master
10940
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
10941
+
10942
+  (0.1ms)  SELECT sql
10943
+ FROM sqlite_master
10944
+ WHERE name='index_evil_users_on_email' AND type='index'
10945
+ UNION ALL
10946
+ SELECT sql
10947
+ FROM sqlite_temp_master
10948
+ WHERE name='index_evil_users_on_email' AND type='index'
10949
+ 
10950
+  (0.1ms) CREATE UNIQUE INDEX "index_evil_users_on_confirmation_token" ON "evil_users" ("confirmation_token")
10951
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140928231203"]]
10952
+  (1.0ms) commit transaction
10953
+ Migrating to DeviseTokenAuthCreateOnlyEmailUsers (20141222035835)
10954
+  (0.0ms) begin transaction
10955
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb:45)
10956
+  (0.2ms) CREATE TABLE "only_email_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "provider" varchar NOT NULL, "uid" varchar DEFAULT '' NOT NULL, "encrypted_password" varchar DEFAULT '' NOT NULL, "name" varchar, "nickname" varchar, "image" varchar, "email" varchar, "tokens" text, "created_at" datetime, "updated_at" datetime)
10957
+  (0.1ms) CREATE INDEX "index_only_email_users_on_email" ON "only_email_users" ("email")
10958
+  (0.1ms) SELECT sql
10959
+ FROM sqlite_master
10960
+ WHERE name='index_only_email_users_on_email' AND type='index'
10961
+ UNION ALL
10962
+ SELECT sql
10963
+ FROM sqlite_temp_master
10964
+ WHERE name='index_only_email_users_on_email' AND type='index'
10965
+
10966
+  (0.3ms) CREATE UNIQUE INDEX "index_only_email_users_on_uid_and_provider" ON "only_email_users" ("uid", "provider")
10967
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141222035835"]]
10968
+  (0.9ms) commit transaction
10969
+ Migrating to DeviseTokenAuthCreateUnregisterableUsers (20141222053502)
10970
+  (0.0ms) begin transaction
10971
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb:45)
10972
+  (0.3ms) CREATE TABLE "unregisterable_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "provider" varchar NOT NULL, "uid" varchar DEFAULT '' NOT NULL, "encrypted_password" varchar DEFAULT '' NOT NULL, "reset_password_token" varchar, "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar, "last_sign_in_ip" varchar, "confirmation_token" varchar, "confirmed_at" datetime, "confirmation_sent_at" datetime, "unconfirmed_email" varchar, "name" varchar, "nickname" varchar, "image" varchar, "email" varchar, "tokens" text, "created_at" datetime, "updated_at" datetime) 
10973
+  (0.1ms) CREATE INDEX "index_unregisterable_users_on_email" ON "unregisterable_users" ("email")
10974
+  (0.1ms)  SELECT sql
10975
+ FROM sqlite_master
10976
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
10977
+ UNION ALL
10978
+ SELECT sql
10979
+ FROM sqlite_temp_master
10980
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
10981
+ 
10982
+  (0.4ms) CREATE UNIQUE INDEX "index_unregisterable_users_on_uid_and_provider" ON "unregisterable_users" ("uid", "provider")
10983
+  (0.1ms)  SELECT sql
10984
+ FROM sqlite_master
10985
+ WHERE name='index_unregisterable_users_on_uid_and_provider' AND type='index'
10986
+ UNION ALL
10987
+ SELECT sql
10988
+ FROM sqlite_temp_master
10989
+ WHERE name='index_unregisterable_users_on_uid_and_provider' AND type='index'
10990
+ 
10991
+  (0.1ms) SELECT sql
10992
+ FROM sqlite_master
10993
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
10994
+ UNION ALL
10995
+ SELECT sql
10996
+ FROM sqlite_temp_master
10997
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
10998
+
10999
+  (0.1ms) CREATE UNIQUE INDEX "index_unregisterable_users_on_reset_password_token" ON "unregisterable_users" ("reset_password_token")
11000
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141222053502"]]
11001
+  (0.8ms) commit transaction
11002
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
11003
+  (0.1ms)  SELECT sql
11004
+ FROM sqlite_master
11005
+ WHERE name='index_evil_users_on_confirmation_token' AND type='index'
11006
+ UNION ALL
11007
+ SELECT sql
11008
+ FROM sqlite_temp_master
11009
+ WHERE name='index_evil_users_on_confirmation_token' AND type='index'
11010
+ 
11011
+  (0.1ms) SELECT sql
11012
+ FROM sqlite_master
11013
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
11014
+ UNION ALL
11015
+ SELECT sql
11016
+ FROM sqlite_temp_master
11017
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
11018
+
11019
+  (0.1ms)  SELECT sql
11020
+ FROM sqlite_master
11021
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
11022
+ UNION ALL
11023
+ SELECT sql
11024
+ FROM sqlite_temp_master
11025
+ WHERE name='index_evil_users_on_uid_and_provider' AND type='index'
11026
+ 
11027
+  (0.1ms) SELECT sql
11028
+ FROM sqlite_master
11029
+ WHERE name='index_evil_users_on_email' AND type='index'
11030
+ UNION ALL
11031
+ SELECT sql
11032
+ FROM sqlite_temp_master
11033
+ WHERE name='index_evil_users_on_email' AND type='index'
11034
+
11035
+  (0.1ms)  SELECT sql
11036
+ FROM sqlite_master
11037
+ WHERE name='index_mangs_on_confirmation_token' AND type='index'
11038
+ UNION ALL
11039
+ SELECT sql
11040
+ FROM sqlite_temp_master
11041
+ WHERE name='index_mangs_on_confirmation_token' AND type='index'
11042
+ 
11043
+  (0.1ms) SELECT sql
11044
+ FROM sqlite_master
11045
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
11046
+ UNION ALL
11047
+ SELECT sql
11048
+ FROM sqlite_temp_master
11049
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
11050
+
11051
+  (0.1ms)  SELECT sql
11052
+ FROM sqlite_master
11053
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
11054
+ UNION ALL
11055
+ SELECT sql
11056
+ FROM sqlite_temp_master
11057
+ WHERE name='index_mangs_on_uid_and_provider' AND type='index'
11058
+ 
11059
+  (0.1ms) SELECT sql
11060
+ FROM sqlite_master
11061
+ WHERE name='index_mangs_on_email' AND type='index'
11062
+ UNION ALL
11063
+ SELECT sql
11064
+ FROM sqlite_temp_master
11065
+ WHERE name='index_mangs_on_email' AND type='index'
11066
+
11067
+  (0.1ms)  SELECT sql
11068
+ FROM sqlite_master
11069
+ WHERE name='index_only_email_users_on_uid_and_provider' AND type='index'
11070
+ UNION ALL
11071
+ SELECT sql
11072
+ FROM sqlite_temp_master
11073
+ WHERE name='index_only_email_users_on_uid_and_provider' AND type='index'
11074
+ 
11075
+  (0.1ms) SELECT sql
11076
+ FROM sqlite_master
11077
+ WHERE name='index_only_email_users_on_email' AND type='index'
11078
+ UNION ALL
11079
+ SELECT sql
11080
+ FROM sqlite_temp_master
11081
+ WHERE name='index_only_email_users_on_email' AND type='index'
11082
+
11083
+  (0.1ms)  SELECT sql
11084
+ FROM sqlite_master
11085
+ WHERE name='index_unregisterable_users_on_reset_password_token' AND type='index'
11086
+ UNION ALL
11087
+ SELECT sql
11088
+ FROM sqlite_temp_master
11089
+ WHERE name='index_unregisterable_users_on_reset_password_token' AND type='index'
11090
+ 
11091
+  (0.1ms) SELECT sql
11092
+ FROM sqlite_master
11093
+ WHERE name='index_unregisterable_users_on_uid_and_provider' AND type='index'
11094
+ UNION ALL
11095
+ SELECT sql
11096
+ FROM sqlite_temp_master
11097
+ WHERE name='index_unregisterable_users_on_uid_and_provider' AND type='index'
11098
+
11099
+  (0.1ms)  SELECT sql
11100
+ FROM sqlite_master
11101
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
11102
+ UNION ALL
11103
+ SELECT sql
11104
+ FROM sqlite_temp_master
11105
+ WHERE name='index_unregisterable_users_on_email' AND type='index'
11106
+ 
11107
+  (0.1ms) SELECT sql
11108
+ FROM sqlite_master
11109
+ WHERE name='index_users_on_nickname' AND type='index'
11110
+ UNION ALL
11111
+ SELECT sql
11112
+ FROM sqlite_temp_master
11113
+ WHERE name='index_users_on_nickname' AND type='index'
11114
+
11115
+  (0.1ms)  SELECT sql
11116
+ FROM sqlite_master
11117
+ WHERE name='index_users_on_confirmation_token' AND type='index'
11118
+ UNION ALL
11119
+ SELECT sql
11120
+ FROM sqlite_temp_master
11121
+ WHERE name='index_users_on_confirmation_token' AND type='index'
11122
+ 
11123
+  (0.1ms) SELECT sql
11124
+ FROM sqlite_master
11125
+ WHERE name='index_users_on_reset_password_token' AND type='index'
11126
+ UNION ALL
11127
+ SELECT sql
11128
+ FROM sqlite_temp_master
11129
+ WHERE name='index_users_on_reset_password_token' AND type='index'
11130
+
11131
+  (0.1ms)  SELECT sql
11132
+ FROM sqlite_master
11133
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
11134
+ UNION ALL
11135
+ SELECT sql
11136
+ FROM sqlite_temp_master
11137
+ WHERE name='index_users_on_uid_and_provider' AND type='index'
11138
+ 
11139
+  (0.1ms) SELECT sql
11140
+ FROM sqlite_master
11141
+ WHERE name='index_users_on_email' AND type='index'
11142
+ UNION ALL
11143
+ SELECT sql
11144
+ FROM sqlite_temp_master
11145
+ WHERE name='index_users_on_email' AND type='index'
11146
+
11147
+
11148
+
11149
+ Started GET "/auth/validate_token" for 127.0.0.1 at 2015-02-08 21:37:51 -0600
11150
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
11151
+ Processing by DeviseTokenAuth::TokenValidationsController#validate_token as HTML
11152
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? LIMIT 1 [["uid", "468037"]]
11153
+ Completed 401 Unauthorized in 10ms (Views: 0.2ms | ActiveRecord: 0.4ms)
11154
+
11155
+
11156
+ Started POST "/auth" for 127.0.0.1 at 2015-02-08 21:41:45 -0600
11157
+ Processing by DeviseTokenAuth::RegistrationsController#create as HTML
11158
+ Parameters: {"email"=>"test@test.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "nickname"=>"stimpy", "confirm_success_url"=>"http://ng-token-auth.dev/", "config_name"=>"default", "registration"=>{"email"=>"test@test.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "nickname"=>"stimpy", "confirm_success_url"=>"http://ng-token-auth.dev/", "config_name"=>"default"}}
11159
+ Unpermitted parameters: confirm_success_url, config_name, registration
11160
+ Unpermitted parameters: confirm_success_url, config_name, registration
11161
+  (0.1ms) begin transaction
11162
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."provider" = ? AND "users"."email" = ? [["provider", "email"], ["email", "test@test.com"]]
11163
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."confirmation_token" = ? ORDER BY "users"."id" ASC LIMIT 1 [["confirmation_token", "d62efd7d6c3c8ac407f2237c827b9e3cc234dfd17b10a0acaa87c79815184a20"]]
11164
+ SQL (0.6ms) INSERT INTO "users" ("email", "nickname", "encrypted_password", "tokens", "provider", "uid", "created_at", "updated_at", "confirmation_token", "confirmation_sent_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [["email", "test@test.com"], ["nickname", "stimpy"], ["encrypted_password", "$2a$10$YM.HPaZbMuaG9LLqCN9JmOMTqlAzRKXHCkcIXAnGAIvlyq5jglqfy"], ["tokens", "{}"], ["provider", "email"], ["uid", "test@test.com"], ["created_at", "2015-02-09 03:41:45.824510"], ["updated_at", "2015-02-09 03:41:45.824510"], ["confirmation_token", "d62efd7d6c3c8ac407f2237c827b9e3cc234dfd17b10a0acaa87c79815184a20"], ["confirmation_sent_at", "2015-02-09 03:41:46.011096"]]
11165
+  (3.8ms) commit transaction
11166
+ Rendered /Users/lynn/Code/Auth/devise_token_auth/app/views/devise/mailer/confirmation_instructions.html.erb (4.6ms)
11167
+
11168
+ Devise::Mailer#confirmation_instructions: processed outbound mail in 459.9ms
11169
+
11170
+ Sent mail to test@test.com (158.1ms)
11171
+ Date: Sun, 08 Feb 2015 21:41:46 -0600
11172
+ From: please-change-me-at-config-initializers-devise@example.com
11173
+ Reply-To: please-change-me-at-config-initializers-devise@example.com
11174
+ To: test@test.com
11175
+ Message-ID: <54d82c7a77f1e_f0123fd9c9865be01543e@tests-MacBook-Pro.local.mail>
11176
+ Subject: Confirmation instructions
11177
+ Mime-Version: 1.0
11178
+ Content-Type: text/html;
11179
+ charset=UTF-8
11180
+ Content-Transfer-Encoding: 7bit
11181
+ client-config: default
11182
+ redirect-url: http://ng-token-auth.dev/
11183
+
11184
+ <p>Welcome test@test.com!</p>
11185
+
11186
+ <p>You can confirm your account email through the link below:</p>
11187
+
11188
+ <p><a href="http://devise-token-auth.dev/auth/confirmation?config=default&confirmation_token=85s1Z7RHcgkSbsXUxHbp&redirect_url=http%3A%2F%2Fng-token-auth.dev%2F">Confirm my account</a></p>
11189
+
11190
+ Completed 200 OK in 911ms (Views: 0.3ms | ActiveRecord: 5.1ms)
11191
+
11192
+
11193
+ Started GET "/auth/confirmation?config=default&confirmation_token=85s1Z7RHcgkSbsXUxHbp&redirect_url=http%3A%2F%2Fng-token-auth.dev%2F" for 127.0.0.1 at 2015-02-08 21:42:08 -0600
11194
+ Processing by DeviseTokenAuth::ConfirmationsController#show as HTML
11195
+ Parameters: {"config"=>"default", "confirmation_token"=>"85s1Z7RHcgkSbsXUxHbp", "redirect_url"=>"http://ng-token-auth.dev/"}
11196
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."confirmation_token" = ? ORDER BY "users"."id" ASC LIMIT 1 [["confirmation_token", "d62efd7d6c3c8ac407f2237c827b9e3cc234dfd17b10a0acaa87c79815184a20"]]
11197
+  (0.0ms) begin transaction
11198
+ SQL (0.3ms) UPDATE "users" SET "confirmation_token" = ?, "confirmed_at" = ?, "updated_at" = ? WHERE "users"."id" = ? [["confirmation_token", nil], ["confirmed_at", "2015-02-09 03:42:08.017984"], ["updated_at", "2015-02-09 03:42:08.019447"], ["id", 1]]
11199
+  (2.0ms) commit transaction
11200
+  (0.1ms) begin transaction
11201
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "confirmation_token" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"YfXawkcQqvyFllxtSFaCFw\":{\"token\":\"$2a$10$mwmNCJ9DhrvYpMOEhvfwFe3pHlsVa7FMs/G65usoFbQaiS9lSg6Ra\",\"expiry\":1424662928}}"], ["confirmation_token", "85s1Z7RHcgkSbsXUxHbp"], ["updated_at", "2015-02-09 03:42:08.090271"], ["id", 1]]
11202
+  (1.0ms) commit transaction
11203
+ Redirected to http://ng-token-auth.dev/#?account_confirmation_success=true&client_id=YfXawkcQqvyFllxtSFaCFw&config=default&expiry=&token=mcjr_UpcsYhPjLg9YeP-yw&uid=test%40test.com
11204
+ Completed 302 Found in 82ms (ActiveRecord: 3.9ms)
11205
+
11206
+
11207
+ Started GET "/auth/validate_token" for 127.0.0.1 at 2015-02-08 21:42:08 -0600
11208
+ Processing by DeviseTokenAuth::TokenValidationsController#validate_token as HTML
11209
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? LIMIT 1 [["uid", "test@test.com"]]
11210
+  (0.1ms) begin transaction
11211
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1  [["id", 1]]
11212
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"YfXawkcQqvyFllxtSFaCFw\":{\"token\":\"$2a$10$hLwFkAdMo8umxo5PNcREWOpA7q9uKpotjMLZRVkjuxfcqg4tJimm6\",\"expiry\":1424662928,\"last_token\":\"$2a$10$mwmNCJ9DhrvYpMOEhvfwFe3pHlsVa7FMs/G65usoFbQaiS9lSg6Ra\",\"updated_at\":\"2015-02-08T21:42:08.521-06:00\"}}"], ["updated_at", "2015-02-09 03:42:08.524484"], ["id", 1]]
11213
+  (1.9ms) commit transaction
11214
+ Completed 200 OK in 145ms (Views: 0.2ms | ActiveRecord: 2.6ms)
11215
+
11216
+
11217
+ Started DELETE "/auth/sign_out" for 127.0.0.1 at 2015-02-08 21:42:17 -0600
11218
+ Processing by DeviseTokenAuth::SessionsController#destroy as HTML
11219
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? LIMIT 1 [["uid", "test@test.com"]]
11220
+  (0.1ms) begin transaction
11221
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{}"], ["updated_at", "2015-02-09 03:42:17.532121"], ["id", 1]]
11222
+  (2.6ms) commit transaction
11223
+ Completed 200 OK in 70ms (Views: 0.2ms | ActiveRecord: 3.1ms)
11224
+
11225
+
11226
+ Started POST "/auth/sign_in" for 127.0.0.1 at 2015-02-08 21:42:25 -0600
11227
+ Processing by DeviseTokenAuth::SessionsController#create as HTML
11228
+ Parameters: {"nickname"=>"stimpy", "password"=>"[FILTERED]", "session"=>{"nickname"=>"stimpy", "password"=>"[FILTERED]"}}
11229
+ Unpermitted parameter: session
11230
+ Unpermitted parameter: session
11231
+ Unpermitted parameter: session
11232
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE (nickname = 'stimpy' AND provider='email') ORDER BY "users"."id" ASC LIMIT 1
11233
+ Unpermitted parameter: session
11234
+ Unpermitted parameter: session
11235
+ Completed 401 Unauthorized in 65ms (Views: 0.2ms | ActiveRecord: 0.2ms)
11236
+
11237
+
11238
+ Started POST "/auth/sign_in" for 127.0.0.1 at 2015-02-08 21:42:57 -0600
11239
+ Processing by DeviseTokenAuth::SessionsController#create as HTML
11240
+ Parameters: {"nickname"=>"stimpy", "password"=>"[FILTERED]", "session"=>{"nickname"=>"stimpy", "password"=>"[FILTERED]"}}
11241
+ Unpermitted parameter: session
11242
+ Unpermitted parameter: session
11243
+ Unpermitted parameter: session
11244
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE (nickname = 'stimpy' AND provider='email') ORDER BY "users"."id" ASC LIMIT 1
11245
+ Unpermitted parameter: session
11246
+ Unpermitted parameter: session
11247
+  (0.1ms) begin transaction
11248
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"_UaMxm37nuaLXQuRKyOgyg\":{\"token\":\"$2a$10$50y.NjzXnWb2WdRRFyu0autCCwrrVQbCqPLUCEqPnK8q9PNifNNmm\",\"expiry\":1424662977}}"], ["updated_at", "2015-02-09 03:42:57.637986"], ["id", 1]]
11249
+  (0.6ms) commit transaction
11250
+  (0.1ms) begin transaction
11251
+ SQL (0.3ms) UPDATE "users" SET "last_sign_in_at" = ?, "current_sign_in_at" = ?, "last_sign_in_ip" = ?, "current_sign_in_ip" = ?, "sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = ? [["last_sign_in_at", "2015-02-09 03:42:57.642208"], ["current_sign_in_at", "2015-02-09 03:42:57.642208"], ["last_sign_in_ip", "127.0.0.1"], ["current_sign_in_ip", "127.0.0.1"], ["sign_in_count", 1], ["updated_at", "2015-02-09 03:42:57.647095"], ["id", 1]]
11252
+  (0.7ms) commit transaction
11253
+  (0.1ms) begin transaction
11254
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1  [["id", 1]]
11255
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"_UaMxm37nuaLXQuRKyOgyg\":{\"token\":\"$2a$10$Gxai0ka/7lkSujPq6EUOF.e6Y12Oy/vvLB8yZuVJH0y8SJU7wX3sC\",\"expiry\":1424662977,\"last_token\":\"$2a$10$50y.NjzXnWb2WdRRFyu0autCCwrrVQbCqPLUCEqPnK8q9PNifNNmm\",\"updated_at\":\"2015-02-08T21:42:57.714-06:00\"}}"], ["updated_at", "2015-02-09 03:42:57.717236"], ["id", 1]]
11256
+  (0.9ms) commit transaction
11257
+ Completed 200 OK in 211ms (Views: 0.3ms | ActiveRecord: 3.5ms)
11258
+
11259
+
11260
+ Started DELETE "/auth/sign_out" for 127.0.0.1 at 2015-02-08 21:43:19 -0600
11261
+ Processing by DeviseTokenAuth::SessionsController#destroy as HTML
11262
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? LIMIT 1 [["uid", "test@test.com"]]
11263
+  (0.1ms) begin transaction
11264
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{}"], ["updated_at", "2015-02-09 03:43:19.607116"], ["id", 1]]
11265
+  (2.0ms) commit transaction
11266
+ Completed 200 OK in 71ms (Views: 0.1ms | ActiveRecord: 2.5ms)
11267
+
11268
+
11269
+ Started POST "/auth/sign_in" for 127.0.0.1 at 2015-02-08 21:43:31 -0600
11270
+ Processing by DeviseTokenAuth::SessionsController#create as HTML
11271
+ Parameters: {"nickname"=>"stimpy", "password"=>"[FILTERED]", "email"=>"test@test.com", "session"=>{"nickname"=>"stimpy", "password"=>"[FILTERED]", "email"=>"test@test.com"}}
11272
+ Unpermitted parameter: session
11273
+ Unpermitted parameter: session
11274
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE (email = 'test@test.com' AND provider='email') ORDER BY "users"."id" ASC LIMIT 1
11275
+ Unpermitted parameter: session
11276
+ Unpermitted parameter: session
11277
+  (0.1ms) begin transaction
11278
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"z0RhXZvc_PMbLy8Yzt6EHA\":{\"token\":\"$2a$10$n1coM6EgYmB2CkILZBInheQpNIiA2G41ZTMeISq07hUiGqwBny99O\",\"expiry\":1424663011}}"], ["updated_at", "2015-02-09 03:43:31.822534"], ["id", 1]]
11279
+  (0.9ms) commit transaction
11280
+  (0.1ms) begin transaction
11281
+ SQL (0.3ms) UPDATE "users" SET "current_sign_in_at" = ?, "sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = ? [["current_sign_in_at", "2015-02-09 03:43:31.826970"], ["sign_in_count", 2], ["updated_at", "2015-02-09 03:43:31.831028"], ["id", 1]]
11282
+  (0.6ms) commit transaction
11283
+  (0.0ms) begin transaction
11284
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 1]]
11285
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"z0RhXZvc_PMbLy8Yzt6EHA\":{\"token\":\"$2a$10$uVlK8p.WJzCuFxMJHrEwbuvv/sMwizobqluEW/QZS41Fhtz1wunTG\",\"expiry\":1424663011,\"last_token\":\"$2a$10$n1coM6EgYmB2CkILZBInheQpNIiA2G41ZTMeISq07hUiGqwBny99O\",\"updated_at\":\"2015-02-08T21:43:31.898-06:00\"}}"], ["updated_at", "2015-02-09 03:43:31.901843"], ["id", 1]]
11286
+  (0.9ms) commit transaction
11287
+ Completed 200 OK in 213ms (Views: 0.2ms | ActiveRecord: 3.7ms)
11288
+
11289
+
11290
+ Started DELETE "/auth/sign_out" for 127.0.0.1 at 2015-02-08 21:43:41 -0600
11291
+ Processing by DeviseTokenAuth::SessionsController#destroy as HTML
11292
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."uid" = ? LIMIT 1 [["uid", "test@test.com"]]
11293
+  (0.1ms) begin transaction
11294
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{}"], ["updated_at", "2015-02-09 03:43:42.031698"], ["id", 1]]
11295
+  (1.7ms) commit transaction
11296
+ Completed 200 OK in 70ms (Views: 0.1ms | ActiveRecord: 2.1ms)
11297
+
11298
+
11299
+ Started POST "/auth/sign_in" for 127.0.0.1 at 2015-02-08 21:43:46 -0600
11300
+ Processing by DeviseTokenAuth::SessionsController#create as HTML
11301
+ Parameters: {"nickname"=>"", "password"=>"[FILTERED]", "email"=>"test@test.com", "session"=>{"nickname"=>"", "password"=>"[FILTERED]", "email"=>"test@test.com"}}
11302
+ Unpermitted parameter: session
11303
+ Unpermitted parameter: session
11304
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE (email = 'test@test.com' AND provider='email') ORDER BY "users"."id" ASC LIMIT 1
11305
+ Unpermitted parameter: session
11306
+ Unpermitted parameter: session
11307
+  (0.1ms) begin transaction
11308
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"7g4_HX8s5TrY70HgLxwlWg\":{\"token\":\"$2a$10$ILoXtiIk7b3SbaHFkHkwAeb64tqorsQ/yj.q7dCIKntmoI32d/sYq\",\"expiry\":1424663026}}"], ["updated_at", "2015-02-09 03:43:46.769555"], ["id", 1]]
11309
+  (1.0ms) commit transaction
11310
+  (0.1ms) begin transaction
11311
+ SQL (0.3ms) UPDATE "users" SET "last_sign_in_at" = ?, "current_sign_in_at" = ?, "sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = ? [["last_sign_in_at", "2015-02-09 03:43:31.826970"], ["current_sign_in_at", "2015-02-09 03:43:46.774203"], ["sign_in_count", 3], ["updated_at", "2015-02-09 03:43:46.778184"], ["id", 1]]
11312
+  (0.6ms) commit transaction
11313
+  (0.1ms) begin transaction
11314
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1  [["id", 1]]
11315
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = ? [["tokens", "{\"7g4_HX8s5TrY70HgLxwlWg\":{\"token\":\"$2a$10$dXpdvZGjmr1ppw2moM9D9.7SmRPXV0R6bxbYrDM0pUMdu749ftGvG\",\"expiry\":1424663026,\"last_token\":\"$2a$10$ILoXtiIk7b3SbaHFkHkwAeb64tqorsQ/yj.q7dCIKntmoI32d/sYq\",\"updated_at\":\"2015-02-08T21:43:46.846-06:00\"}}"], ["updated_at", "2015-02-09 03:43:46.849899"], ["id", 1]]
11316
+  (0.9ms) commit transaction
11317
+ Completed 200 OK in 213ms (Views: 0.2ms | ActiveRecord: 3.9ms)
11318
+  (27.0ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB
11319
+  (31.2ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`)
11320
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT `schema_migrations`.* FROM `schema_migrations`
11321
+ Migrating to DeviseTokenAuthCreateUsers (20140715061447)
11322
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb:47)
11323
+  (20.9ms) CREATE TABLE `users` (`id` int(11) auto_increment PRIMARY KEY, `email` varchar(255), `encrypted_password` varchar(255) DEFAULT '' NOT NULL, `reset_password_token` varchar(255), `reset_password_sent_at` datetime, `reset_password_redirect_url` varchar(255), `remember_created_at` datetime, `sign_in_count` int(11) DEFAULT 0 NOT NULL, `current_sign_in_at` datetime, `last_sign_in_at` datetime, `current_sign_in_ip` varchar(255), `last_sign_in_ip` varchar(255), `confirmation_token` varchar(255), `confirmed_at` datetime, `confirmation_sent_at` datetime, `confirm_success_url` varchar(255), `unconfirmed_email` varchar(255), `name` varchar(255), `nickname` varchar(255), `image` varchar(255), `provider` varchar(255), `uid` varchar(255) DEFAULT '' NOT NULL, `tokens` text, `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
11324
+  (28.2ms) CREATE INDEX `index_users_on_email` ON `users` (`email`) 
11325
+  (21.1ms) CREATE UNIQUE INDEX `index_users_on_uid_and_provider` ON `users` (`uid`, `provider`)
11326
+  (21.5ms) CREATE UNIQUE INDEX `index_users_on_reset_password_token` ON `users` (`reset_password_token`) 
11327
+  (26.7ms) CREATE UNIQUE INDEX `index_users_on_confirmation_token` ON `users` (`confirmation_token`)
11328
+  (26.9ms) CREATE UNIQUE INDEX `index_users_on_nickname` ON `users` (`nickname`) 
11329
+  (0.1ms) BEGIN
11330
+ SQL (0.2ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20140715061447')
11331
+  (0.3ms) COMMIT
11332
+ Migrating to DeviseTokenAuthCreateMangs (20140715061805)
11333
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb:47)
11334
+  (14.2ms) CREATE TABLE `mangs` (`id` int(11) auto_increment PRIMARY KEY, `email` varchar(255), `encrypted_password` varchar(255) DEFAULT '' NOT NULL, `reset_password_token` varchar(255), `reset_password_sent_at` datetime, `reset_password_redirect_url` varchar(255), `remember_created_at` datetime, `sign_in_count` int(11) DEFAULT 0 NOT NULL, `current_sign_in_at` datetime, `last_sign_in_at` datetime, `current_sign_in_ip` varchar(255), `last_sign_in_ip` varchar(255), `confirmation_token` varchar(255), `confirmed_at` datetime, `confirmation_sent_at` datetime, `confirm_success_url` varchar(255), `unconfirmed_email` varchar(255), `name` varchar(255), `nickname` varchar(255), `image` varchar(255), `provider` varchar(255), `uid` varchar(255) DEFAULT '' NOT NULL, `tokens` text, `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
11335
+  (15.3ms) CREATE INDEX `index_mangs_on_email` ON `mangs` (`email`)
11336
+  (26.6ms) CREATE UNIQUE INDEX `index_mangs_on_uid_and_provider` ON `mangs` (`uid`, `provider`) 
11337
+  (23.4ms) CREATE UNIQUE INDEX `index_mangs_on_reset_password_token` ON `mangs` (`reset_password_token`)
11338
+  (27.3ms) CREATE UNIQUE INDEX `index_mangs_on_confirmation_token` ON `mangs` (`confirmation_token`) 
11339
+  (0.1ms) BEGIN
11340
+ SQL (0.2ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20140715061805')
11341
+  (0.2ms) COMMIT
11342
+ Migrating to AddOperatingThetanToUser (20140829044006)
11343
+  (48.8ms) ALTER TABLE `users` ADD `operating_thetan` int(11)
11344
+  (53.1ms) ALTER TABLE `users` ADD `favorite_color` varchar(255)
11345
+  (0.1ms) BEGIN
11346
+ SQL (0.1ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20140829044006')
11347
+  (0.5ms) COMMIT
11348
+ Migrating to AddFavoriteColorToMangs (20140916224624)
11349
+  (43.8ms) ALTER TABLE `mangs` ADD `favorite_color` varchar(255)
11350
+  (0.1ms) BEGIN
11351
+ SQL (0.1ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20140916224624')
11352
+  (0.5ms) COMMIT
11353
+ Migrating to DeviseTokenAuthCreateEvilUsers (20140928231203)
11354
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20140928231203_devise_token_auth_create_evil_users.rb:48)
11355
+  (23.4ms) CREATE TABLE `evil_users` (`id` int(11) auto_increment PRIMARY KEY, `email` varchar(255), `encrypted_password` varchar(255) DEFAULT '' NOT NULL, `reset_password_token` varchar(255), `reset_password_sent_at` datetime, `remember_created_at` datetime, `sign_in_count` int(11) DEFAULT 0 NOT NULL, `current_sign_in_at` datetime, `last_sign_in_at` datetime, `current_sign_in_ip` varchar(255), `last_sign_in_ip` varchar(255), `confirmation_token` varchar(255), `confirmed_at` datetime, `confirmation_sent_at` datetime, `unconfirmed_email` varchar(255), `name` varchar(255), `nickname` varchar(255), `image` varchar(255), `provider` varchar(255), `uid` varchar(255) DEFAULT '' NOT NULL, `tokens` text, `favorite_color` varchar(255), `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
11356
+  (17.5ms) CREATE INDEX `index_evil_users_on_email` ON `evil_users` (`email`) 
11357
+  (26.5ms) CREATE UNIQUE INDEX `index_evil_users_on_uid_and_provider` ON `evil_users` (`uid`, `provider`)
11358
+  (17.6ms) CREATE UNIQUE INDEX `index_evil_users_on_reset_password_token` ON `evil_users` (`reset_password_token`) 
11359
+  (22.4ms) CREATE UNIQUE INDEX `index_evil_users_on_confirmation_token` ON `evil_users` (`confirmation_token`)
11360
+  (0.1ms) BEGIN
11361
+ SQL (0.1ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20140928231203')
11362
+  (0.9ms) COMMIT
11363
+ Migrating to DeviseTokenAuthCreateOnlyEmailUsers (20141222035835)
11364
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb:45)
11365
+  (29.4ms) CREATE TABLE `only_email_users` (`id` int(11) auto_increment PRIMARY KEY, `provider` varchar(255) NOT NULL, `uid` varchar(255) DEFAULT '' NOT NULL, `encrypted_password` varchar(255) DEFAULT '' NOT NULL, `name` varchar(255), `nickname` varchar(255), `image` varchar(255), `email` varchar(255), `tokens` text, `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
11366
+  (22.8ms) CREATE INDEX `index_only_email_users_on_email` ON `only_email_users` (`email`) 
11367
+  (28.3ms) CREATE UNIQUE INDEX `index_only_email_users_on_uid_and_provider` ON `only_email_users` (`uid`, `provider`)
11368
+  (0.1ms) BEGIN
11369
+ SQL (0.6ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20141222035835')
11370
+  (0.5ms) COMMIT
11371
+ Migrating to DeviseTokenAuthCreateUnregisterableUsers (20141222053502)
11372
+ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/lynn/Code/Auth/devise_token_auth/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb:45)
11373
+  (25.0ms) CREATE TABLE `unregisterable_users` (`id` int(11) auto_increment PRIMARY KEY, `provider` varchar(255) NOT NULL, `uid` varchar(255) DEFAULT '' NOT NULL, `encrypted_password` varchar(255) DEFAULT '' NOT NULL, `reset_password_token` varchar(255), `reset_password_sent_at` datetime, `remember_created_at` datetime, `sign_in_count` int(11) DEFAULT 0 NOT NULL, `current_sign_in_at` datetime, `last_sign_in_at` datetime, `current_sign_in_ip` varchar(255), `last_sign_in_ip` varchar(255), `confirmation_token` varchar(255), `confirmed_at` datetime, `confirmation_sent_at` datetime, `unconfirmed_email` varchar(255), `name` varchar(255), `nickname` varchar(255), `image` varchar(255), `email` varchar(255), `tokens` text, `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
11374
+  (15.2ms) CREATE INDEX `index_unregisterable_users_on_email` ON `unregisterable_users` (`email`) 
11375
+  (30.2ms) CREATE UNIQUE INDEX `index_unregisterable_users_on_uid_and_provider` ON `unregisterable_users` (`uid`, `provider`)
11376
+  (23.9ms) CREATE UNIQUE INDEX `index_unregisterable_users_on_reset_password_token` ON `unregisterable_users` (`reset_password_token`) 
11377
+  (0.1ms) BEGIN
11378
+ SQL (0.1ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20141222053502')
11379
+  (0.3ms) COMMIT
11380
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT `schema_migrations`.* FROM `schema_migrations`
11381
+  (1.0ms) SELECT fk.referenced_table_name as 'to_table'
11382
+ ,fk.referenced_column_name as 'primary_key'
11383
+ ,fk.column_name as 'column'
11384
+ ,fk.constraint_name as 'name'
11385
+ FROM information_schema.key_column_usage fk
11386
+ WHERE fk.referenced_column_name is not null
11387
+ AND fk.table_schema = 'devise_token_auth_development'
11388
+ AND fk.table_name = 'evil_users'
11389
+
11390
+  (0.1ms) SHOW CREATE TABLE `evil_users`
11391
+  (0.2ms) SELECT fk.referenced_table_name as 'to_table'
11392
+ ,fk.referenced_column_name as 'primary_key'
11393
+ ,fk.column_name as 'column'
11394
+ ,fk.constraint_name as 'name'
11395
+ FROM information_schema.key_column_usage fk
11396
+ WHERE fk.referenced_column_name is not null
11397
+ AND fk.table_schema = 'devise_token_auth_development'
11398
+ AND fk.table_name = 'mangs'
11399
+
11400
+  (0.1ms) SHOW CREATE TABLE `mangs`
11401
+  (0.3ms) SELECT fk.referenced_table_name as 'to_table'
11402
+ ,fk.referenced_column_name as 'primary_key'
11403
+ ,fk.column_name as 'column'
11404
+ ,fk.constraint_name as 'name'
11405
+ FROM information_schema.key_column_usage fk
11406
+ WHERE fk.referenced_column_name is not null
11407
+ AND fk.table_schema = 'devise_token_auth_development'
11408
+ AND fk.table_name = 'only_email_users'
11409
+
11410
+  (0.1ms) SHOW CREATE TABLE `only_email_users`
11411
+  (0.3ms) SELECT fk.referenced_table_name as 'to_table'
11412
+ ,fk.referenced_column_name as 'primary_key'
11413
+ ,fk.column_name as 'column'
11414
+ ,fk.constraint_name as 'name'
11415
+ FROM information_schema.key_column_usage fk
11416
+ WHERE fk.referenced_column_name is not null
11417
+ AND fk.table_schema = 'devise_token_auth_development'
11418
+ AND fk.table_name = 'unregisterable_users'
11419
+
11420
+  (0.1ms) SHOW CREATE TABLE `unregisterable_users`
11421
+  (0.2ms) SELECT fk.referenced_table_name as 'to_table'
11422
+ ,fk.referenced_column_name as 'primary_key'
11423
+ ,fk.column_name as 'column'
11424
+ ,fk.constraint_name as 'name'
11425
+ FROM information_schema.key_column_usage fk
11426
+ WHERE fk.referenced_column_name is not null
11427
+ AND fk.table_schema = 'devise_token_auth_development'
11428
+ AND fk.table_name = 'users'
11429
+
11430
+  (0.1ms) SHOW CREATE TABLE `users`