lti_skydrive 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +5 -13
  2. data/app/controllers/skydrive/application_controller.rb +1 -5
  3. data/app/controllers/skydrive/files_controller.rb +9 -2
  4. data/app/controllers/skydrive/launch_controller.rb +30 -48
  5. data/app/models/skydrive/token.rb +3 -3
  6. data/app/models/skydrive/user.rb +14 -5
  7. data/config/database.yml +12 -0
  8. data/lib/skydrive.rb +18 -0
  9. data/lib/skydrive/client.rb +72 -70
  10. data/lib/skydrive/version.rb +1 -1
  11. data/spec/controllers/launch_controller_spec.rb +7 -6
  12. data/spec/lib/skydrive/client_spec.rb +14 -12
  13. data/spec/models/token_spec.rb +11 -0
  14. data/spec/models/user_spec.rb +10 -0
  15. data/spec/test_app/db/development.sqlite3 +0 -0
  16. data/spec/test_app/log/development.log +745 -0
  17. data/spec/test_app/log/test.log +126706 -0
  18. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/CHer0H-jP4A29vBWMTWAbA1ebW-NTy1QcHxQQNhUjWI.cache +2 -0
  19. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/E8jfClrIpMLhvceBJKxIqzyxqKwk7cFpeUS2k4v5-Z0.cache +2 -0
  20. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/EDprT6sqMPxTBQ_xn87BbQDdbUiYEucPRjgX9jnkXn8.cache +0 -0
  21. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/QV2A3C33F_F-8Qz2hetGKWH-udN8YinxyJmVmsaxuKg.cache +0 -0
  22. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/SirARubcy2-5Q39YtSNP1UPQgyCDoYkKbAuOMOytAlI.cache +1 -0
  23. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/aHYSgLVw9ymnQ_eoPOs69jNR6lm_wxODLy3icbB8JpM.cache +1 -0
  24. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/fK-zjgNvFxRGR9SDYC-VoQqTGHNqT4ZEPyOMO0e6N04.cache +1 -0
  25. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/iYvi4cyaXwne9RBdlEgyx1LnU50jcbdOzZbxunCdTSc.cache +1 -0
  26. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/k6fnbFbe_ypmXHMJQJ-HfxU7Icqx27ISRVuIco1aw_w.cache +0 -0
  27. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/luCRRGPFfhw0R0zIXUZVSESWEZMrgCJm6PlsVIqklFY.cache +0 -0
  28. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/qfZOvJDW0QsPGhtchQAFiXDhjwMfLju_imf-Bi0eP-w.cache +1 -0
  29. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/sDPjdtKgptekMPx7YYF90oeuv60XBkK7gt_qF7vScas.cache +2 -0
  30. metadata +56 -22
@@ -1,3 +1,3 @@
1
1
  module Skydrive
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -18,6 +18,7 @@ module Skydrive
18
18
  tp = IMS::LTI::ToolProvider.new(nil, nil, {})
19
19
  tp.lis_person_contact_email_primary = email
20
20
  tp.set_custom_param('sharepoint_client_domain', 'test')
21
+ tp.set_custom_param('masquerading_user_id', '$Canvas.masqueradingUser.userId')
21
22
  tp.user_id = username
22
23
  tp.lis_person_name_full = name
23
24
 
@@ -157,6 +158,7 @@ module Skydrive
157
158
  tp = IMS::LTI::ToolProvider.new(nil, nil, {})
158
159
  tp.lis_person_contact_email_primary = "updated_email@example.com"
159
160
  tp.set_custom_param('sharepoint_client_domain', 'test')
161
+ tp.set_custom_param('masquerading_user_id', masquerading_user_id)
160
162
  tp.user_id = username
161
163
  tp.lis_person_name_full = "Updated Name"
162
164
  allow_any_instance_of(LaunchController).to receive(:tool_provider).and_return(tp)
@@ -164,10 +166,10 @@ module Skydrive
164
166
  post 'basic_launch', use_route: :skydrive
165
167
  expect(response).to be_redirect, response.body
166
168
 
167
- user = User.where(username: username).first!
168
- expect(user.email).to eq("updated_email@example.com")
169
- expect(user.username).to eq(username)
170
- expect(user.name).to eq("Updated Name")
169
+ user = User.where(username: masquerading_user_id).first!
170
+ expect(user.email).to eq(masquerading_email)
171
+ expect(user.username).to eq(masquerading_user_id)
172
+ expect(user.name).to eq(masquerading_name)
171
173
  expect(user.token).to be_a Token
172
174
  end
173
175
 
@@ -186,7 +188,6 @@ module Skydrive
186
188
 
187
189
  it "returns a skydrive_auth url when the skydrive token is invalid" do
188
190
  user.save
189
- user.token = Token.create()
190
191
 
191
192
  allow_any_instance_of(LaunchController).to receive(:current_user).and_return(user)
192
193
 
@@ -197,7 +198,7 @@ module Skydrive
197
198
 
198
199
  it "returns a 200 when the skydrive token is valid" do
199
200
  user.save
200
- user.token = Token.create(access_token: 'token', expires_on: 1.week.from_now)
201
+ user.token.update_attributes(access_token: 'token', expires_on: 1.week.from_now)
201
202
 
202
203
  allow_any_instance_of(LaunchController).to receive(:current_user).and_return(user)
203
204
 
@@ -2,9 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe Skydrive::Client do
4
4
  before(:each) do
5
+ token = Skydrive::Token.create()
6
+ token.personal_url = "https://personal.skydrive.com"
5
7
  @client = Skydrive::Client.new(
6
8
  client_domain: "test.skydrive.com",
7
- personal_url: "https://personal.skydrive.com",
9
+ user_token: token,
8
10
  client_id: "test"
9
11
  )
10
12
  end
@@ -14,14 +16,14 @@ describe Skydrive::Client do
14
16
  client_id: 'id',
15
17
  client_secret: 'secret',
16
18
  guid: 'asdfjkl',
17
- token: 'ABCDE',
19
+ user_token: "ME",
18
20
  random_garbage: 'bar'
19
21
  }
20
22
  client = Skydrive::Client.new(opts);
21
23
  expect(client.client_id).to eq(opts[:client_id])
22
24
  expect(client.client_secret).to eq(opts[:client_secret])
23
25
  expect(client.guid).to eq(opts[:guid])
24
- expect(client.token).to eq(opts[:token])
26
+ expect(client.user_token).to eq(opts[:user_token])
25
27
  expect(client.respond_to?(:random_garbage)).to be false
26
28
  end
27
29
 
@@ -32,7 +34,7 @@ describe Skydrive::Client do
32
34
  expect(redir).to include("state=#{state}")
33
35
  end
34
36
 
35
- it "#refresh_token" do
37
+ it "#update_api_tokens" do
36
38
  stub_request(:post, "https://login.windows.net/common/oauth2/token").
37
39
  with(:body => {"client_id"=>"test", "client_secret"=>"", "grant_type"=>"refresh_token", "refresh_token"=>"", "resource"=>"NEW_TOKEN"},
38
40
  :headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'Content-Length'=>'88', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Ruby'}).
@@ -49,7 +51,7 @@ describe Skydrive::Client do
49
51
  :content_length=>"1183"
50
52
  })
51
53
 
52
- results = @client.refresh_token(resource: "NEW_TOKEN")
54
+ results = @client.update_api_tokens(resource: "NEW_TOKEN")
53
55
  expect(results['access_token']).to eq('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
54
56
  WebMock.reset!
55
57
  end
@@ -111,14 +113,14 @@ describe Skydrive::Client do
111
113
  :pragma=>"no-cache",
112
114
  :content_type=>"text/html; charset=utf-8",
113
115
  :expires=>"-1",
114
- :request_id=>"8fa6a09a-354a-4710-8650-e9095e70f8f8",
116
+ :request_id=>"8fa6a09a-0000-4710-0000-e9095e70f8f8",
115
117
  :x_content_type_options=>"nosniff",
116
118
  :date=>"Wed, 08 Jan 2014 19:47:20 GMT",
117
119
  :content_length=>"1183"
118
120
  })
119
121
 
120
122
  expect do
121
- results = @client.refresh_token(resource: "NEW_TOKEN")
123
+ results = @client.update_api_tokens(resource: "NEW_TOKEN")
122
124
  end.to raise_error(JSON::ParserError)
123
125
  WebMock.reset!
124
126
  end
@@ -129,13 +131,13 @@ describe Skydrive::Client do
129
131
  :headers => {'Accept'=>'*/*; q=0.5, application/xml', 'Accept-Encoding'=>'gzip, deflate', 'Content-Length'=>'88', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Ruby'}).
130
132
  to_return(:status => 200,
131
133
  :body => %q[{
132
- "error_description" : "AADSTS90014: The request body must contain the following parameter: 'refresh_token'.\r\nTrace ID: 1a18b1f6-e4b2-4129-a1f8-7fa865546c86\r\nCorrelation ID: 4e75524f-f268-499b-b0a2-e3469408748d\r\nTimestamp: 2015-05-01 19:52:25Z",
133
- "correlation_id" : "4e75524f-f268-499b-b0a2-e3469408748d",
134
+ "error_description" : "AADSTS90014: The request body must contain the following parameter: 'refresh_token'.\r\nTrace ID: 1a18b1f6-0000-4129-0000-7fa865546c86\r\nCorrelation ID: 4e75524f-0000-499b-0000-e3469408748d\r\nTimestamp: 2015-05-01 19:52:25Z",
135
+ "correlation_id" : "4e75524f-0000-499b-0000-e3469408748d",
134
136
  "error_codes" : [
135
137
  90014
136
138
  ],
137
139
  "timestamp" : "2015-05-01 19:52:25Z",
138
- "trace_id" : "1a18b1f6-e4b2-4129-a1f8-7fa865546c86",
140
+ "trace_id" : "1a18b1f6-0000-4129-0000-7fa865546c86",
139
141
  "error" : "invalid_request",
140
142
  "context" : null,
141
143
  "submit_url" : null
@@ -152,7 +154,7 @@ describe Skydrive::Client do
152
154
  })
153
155
 
154
156
  expect do
155
- results = @client.refresh_token(resource: "NEW_TOKEN")
157
+ results = @client.update_api_tokens(resource: "NEW_TOKEN")
156
158
  end.to raise_error(Skydrive::APIResponseErrorException)
157
159
  WebMock.reset!
158
160
  end
@@ -171,7 +173,7 @@ describe Skydrive::Client do
171
173
  :pragma=>"no-cache",
172
174
  :content_type=>"application/json; charset=utf-8",
173
175
  :expires=>"-1",
174
- :request_id=>"8fa6a09a-354a-4710-8650-e9095e70f8f8",
176
+ :request_id=>"8fa6a09a-0000-4710-0000-e9095e70f8f8",
175
177
  :x_content_type_options=>"nosniff",
176
178
  :date=>"Wed, 08 Jan 2014 19:47:20 GMT",
177
179
  :content_length=>"1183"
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ module Skydrive
4
+ describe Token do
5
+ let(:user) {User.create(:email => 'email@email.com', username: 'user', name: 'User')}
6
+ it "requires_refresh? shouldn't be true when empty" do
7
+ token = Token.create(user: user)
8
+ expect(token.requires_refresh?).to be(false)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ module Skydrive
4
+ describe User do
5
+ it "creates token if one doesnt exist" do
6
+ user = User.create(:email => 'email@email.com', username: 'user', name: 'User')
7
+ expect(user.token).to be_a(Token)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,745 @@
1
+ ** [Raven] Raven 0.13.1 configured not to send errors.
2
+
3
+
4
+ Started GET "/" for 127.0.0.1 at 2015-04-30 15:54:12 -0600
5
+ Processing by Rails::WelcomeController#index as HTML
6
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.10/lib/rails/templates/rails/welcome/index.html.erb (1.1ms)
7
+ Completed 200 OK in 5ms (Views: 4.6ms | ActiveRecord: 0.0ms)
8
+
9
+
10
+ Started GET "/asdasd" for 127.0.0.1 at 2015-04-30 15:54:35 -0600
11
+ ** [Raven] User excluded error: #<ActionController::RoutingError: No route matches [GET] "/asdasd">
12
+
13
+ ActionController::RoutingError (No route matches [GET] "/asdasd"):
14
+ actionpack (4.1.10) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
15
+ actionpack (4.1.10) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
16
+ railties (4.1.10) lib/rails/rack/logger.rb:38:in `call_app'
17
+ railties (4.1.10) lib/rails/rack/logger.rb:20:in `block in call'
18
+ activesupport (4.1.10) lib/active_support/tagged_logging.rb:68:in `block in tagged'
19
+ activesupport (4.1.10) lib/active_support/tagged_logging.rb:26:in `tagged'
20
+ activesupport (4.1.10) lib/active_support/tagged_logging.rb:68:in `tagged'
21
+ railties (4.1.10) lib/rails/rack/logger.rb:20:in `call'
22
+ actionpack (4.1.10) lib/action_dispatch/middleware/request_id.rb:21:in `call'
23
+ rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
24
+ rack (1.5.2) lib/rack/runtime.rb:17:in `call'
25
+ activesupport (4.1.10) lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
26
+ rack (1.5.2) lib/rack/lock.rb:17:in `call'
27
+ actionpack (4.1.10) lib/action_dispatch/middleware/static.rb:84:in `call'
28
+ rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
29
+ sentry-raven (0.13.1) lib/raven/integrations/rack.rb:54:in `call'
30
+ railties (4.1.10) lib/rails/engine.rb:514:in `call'
31
+ railties (4.1.10) lib/rails/application.rb:144:in `call'
32
+ rack (1.5.2) lib/rack/content_length.rb:14:in `call'
33
+ thin (1.6.3) lib/thin/connection.rb:86:in `block in pre_process'
34
+ thin (1.6.3) lib/thin/connection.rb:84:in `catch'
35
+ thin (1.6.3) lib/thin/connection.rb:84:in `pre_process'
36
+ thin (1.6.3) lib/thin/connection.rb:53:in `process'
37
+ thin (1.6.3) lib/thin/connection.rb:39:in `receive_data'
38
+ eventmachine (1.0.7) lib/eventmachine.rb:187:in `run_machine'
39
+ eventmachine (1.0.7) lib/eventmachine.rb:187:in `run'
40
+ thin (1.6.3) lib/thin/backends/base.rb:73:in `start'
41
+ thin (1.6.3) lib/thin/server.rb:162:in `start'
42
+ rack (1.5.2) lib/rack/handler/thin.rb:16:in `run'
43
+ rack (1.5.2) lib/rack/server.rb:264:in `start'
44
+ railties (4.1.10) lib/rails/commands/server.rb:69:in `start'
45
+ railties (4.1.10) lib/rails/commands/commands_tasks.rb:81:in `block in server'
46
+ railties (4.1.10) lib/rails/commands/commands_tasks.rb:76:in `tap'
47
+ railties (4.1.10) lib/rails/commands/commands_tasks.rb:76:in `server'
48
+ railties (4.1.10) lib/rails/commands/commands_tasks.rb:40:in `run_command!'
49
+ railties (4.1.10) lib/rails/commands.rb:17:in `<top (required)>'
50
+ bin/rails:4:in `require'
51
+ bin/rails:4:in `<main>'
52
+
53
+
54
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (0.7ms)
55
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/templates/routes/_route.html.erb (0.5ms)
56
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/templates/routes/_route.html.erb (0.9ms)
57
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/templates/routes/_table.html.erb (4.0ms)
58
+ Rendered /Users/bhorrocks/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout (29.6ms)
59
+
60
+
61
+ Started GET "/skydrive" for 127.0.0.1 at 2015-04-30 15:54:49 -0600
62
+ Processing by Skydrive::EmberController#index as HTML
63
+ Rendered /Users/bhorrocks/Development/instructure/edu_apps/engines/lti_skydrive_engine/app/views/skydrive/ember/index.html.erb within layouts/skydrive/application (378.0ms)
64
+ Completed 200 OK in 381ms (Views: 380.5ms | ActiveRecord: 0.0ms)
65
+
66
+
67
+ Started GET "/assets/skydrive/bundle.self.js?body=1" for 127.0.0.1 at 2015-04-30 15:54:50 -0600
68
+
69
+
70
+ Started GET "/assets/skydrive/application.self.js?body=1" for 127.0.0.1 at 2015-04-30 15:54:50 -0600
71
+
72
+
73
+ Started GET "/skydrive/healthcheck" for 127.0.0.1 at 2015-04-30 15:54:56 -0600
74
+ Processing by Skydrive::EmberController#index as HTML
75
+ Parameters: {"path"=>"healthcheck"}
76
+ Rendered /Users/bhorrocks/Development/instructure/edu_apps/engines/lti_skydrive_engine/app/views/skydrive/ember/index.html.erb within layouts/skydrive/application (3.0ms)
77
+ Completed 200 OK in 5ms (Views: 4.8ms | ActiveRecord: 0.0ms)
78
+
79
+
80
+ Started GET "/assets/skydrive/bundle.self.js?body=1" for 127.0.0.1 at 2015-04-30 15:54:56 -0600
81
+
82
+
83
+ Started GET "/assets/skydrive/application.self.js?body=1" for 127.0.0.1 at 2015-04-30 15:54:56 -0600
84
+
85
+
86
+ Started GET "/skydrive/health_check" for 127.0.0.1 at 2015-04-30 15:55:02 -0600
87
+ Processing by Skydrive::EmberController#health_check as HTML
88
+ Completed 500 Internal Server Error in 18ms (ActiveRecord: 1.3ms)
89
+
90
+
91
+ Started GET "/skydrive/health_check.html" for 127.0.0.1 at 2015-04-30 15:55:09 -0600
92
+ Processing by Skydrive::EmberController#health_check as HTML
93
+ Completed 500 Internal Server Error in 0ms (ActiveRecord: 0.0ms)
94
+ ** [Raven] Raven 0.13.1 configured not to send errors.
95
+ Skydrive::Account Load (0.2ms) SELECT "skydrive_accounts".* FROM "skydrive_accounts"
96
+ SQLite3::SQLException: no such table: skydrive_accounts: SELECT "skydrive_accounts".* FROM "skydrive_accounts"
97
+ ** [Raven] Raven 0.13.1 configured not to send errors.
98
+  (1.3ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
99
+  (0.1ms) select sqlite_version(*)
100
+  (0.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
101
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
102
+ Migrating to CreateUsers (20130710195807)
103
+  (0.0ms) begin transaction
104
+  (0.3ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "username" varchar(255), "email" varchar(255), "created_at" datetime, "updated_at" datetime)
105
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130710195807"]]
106
+  (0.8ms) commit transaction
107
+ Migrating to CreateApiKeys (20130710195819)
108
+  (0.0ms) begin transaction
109
+  (0.3ms) CREATE TABLE "api_keys" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "access_token" varchar(255), "scope" varchar(255), "oauth_code" varchar(255), "expired_at" datetime, "created_at" datetime)
110
+  (0.1ms) CREATE INDEX "index_api_keys_on_user_id" ON "api_keys" ("user_id")
111
+  (0.1ms) SELECT sql
112
+ FROM sqlite_master
113
+ WHERE name='index_api_keys_on_user_id' AND type='index'
114
+ UNION ALL
115
+ SELECT sql
116
+ FROM sqlite_temp_master
117
+ WHERE name='index_api_keys_on_user_id' AND type='index'
118
+
119
+  (0.1ms) CREATE INDEX "index_api_keys_on_access_token" ON "api_keys" ("access_token")
120
+  (0.1ms) SELECT sql
121
+ FROM sqlite_master
122
+ WHERE name='index_api_keys_on_access_token' AND type='index'
123
+ UNION ALL
124
+ SELECT sql
125
+ FROM sqlite_temp_master
126
+ WHERE name='index_api_keys_on_access_token' AND type='index'
127
+
128
+  (0.1ms)  SELECT sql
129
+ FROM sqlite_master
130
+ WHERE name='index_api_keys_on_user_id' AND type='index'
131
+ UNION ALL
132
+ SELECT sql
133
+ FROM sqlite_temp_master
134
+ WHERE name='index_api_keys_on_user_id' AND type='index'
135
+ 
136
+  (0.1ms) CREATE INDEX "index_api_keys_on_oauth_code" ON "api_keys" ("oauth_code")
137
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130710195819"]]
138
+  (0.8ms) commit transaction
139
+ Migrating to AddSkydriveTokenStorage (20130722173006)
140
+  (0.1ms) begin transaction
141
+  (0.3ms) CREATE TABLE "skydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" varchar(255), "expires_in" integer, "refresh_token" varchar(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255))
142
+  (0.1ms) CREATE INDEX "index_skydrive_tokens_on_user_id" ON "skydrive_tokens" ("user_id")
143
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130722173006"]]
144
+  (0.6ms) commit transaction
145
+ Migrating to AddClientDomainToSkydriveTokens (20130725183724)
146
+  (0.0ms) begin transaction
147
+  (0.2ms) ALTER TABLE "skydrive_tokens" ADD "client_domain" varchar(255)
148
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130725183724"]]
149
+  (0.5ms) commit transaction
150
+ Migrating to AddPersonalUrlToSkydriveToken (20130726170108)
151
+  (0.0ms) begin transaction
152
+  (0.2ms) ALTER TABLE "skydrive_tokens" ADD "personal_url" varchar(255)
153
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130726170108"]]
154
+  (0.5ms) commit transaction
155
+ Migrating to AddInitParamsToApiKey (20130730164700)
156
+  (0.0ms) begin transaction
157
+  (0.2ms) ALTER TABLE "api_keys" ADD "init_params" text
158
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130730164700"]]
159
+  (0.5ms) commit transaction
160
+ Migrating to CreateLtiKeys (20130801181008)
161
+  (0.0ms) begin transaction
162
+  (0.2ms) CREATE TABLE "lti_keys" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "key" varchar(255), "secret" varchar(255)) 
163
+  (0.1ms) CREATE INDEX "index_lti_keys_on_key" ON "lti_keys" ("key")
164
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130801181008"]]
165
+  (0.6ms) commit transaction
166
+ Migrating to ChangeSkydriveTokenLength (20130802231147)
167
+  (0.0ms) begin transaction
168
+  (0.6ms) CREATE TEMPORARY TABLE "askydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" varchar(255), "expires_in" integer, "refresh_token" varchar(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "client_domain" varchar(255), "personal_url" varchar(255))
169
+  (0.1ms)  SELECT sql
170
+ FROM sqlite_master
171
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
172
+ UNION ALL
173
+ SELECT sql
174
+ FROM sqlite_temp_master
175
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
176
+ 
177
+  (0.1ms) CREATE INDEX "tindex_askydrive_tokens_on_user_id" ON "askydrive_tokens" ("user_id")
178
+  (0.0ms) SELECT * FROM "skydrive_tokens"
179
+  (0.2ms) DROP TABLE "skydrive_tokens"
180
+  (0.1ms) CREATE TABLE "skydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" text(255), "expires_in" integer, "refresh_token" varchar(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "client_domain" varchar(255), "personal_url" varchar(255)) 
181
+  (0.0ms) SELECT sql
182
+ FROM sqlite_master
183
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
184
+ UNION ALL
185
+ SELECT sql
186
+ FROM sqlite_temp_master
187
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
188
+
189
+  (0.1ms) CREATE INDEX "index_skydrive_tokens_on_user_id" ON "skydrive_tokens" ("user_id")
190
+  (0.0ms) SELECT * FROM "askydrive_tokens"
191
+  (0.2ms) DROP TABLE "askydrive_tokens"
192
+  (0.1ms) CREATE TEMPORARY TABLE "askydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" text(255), "expires_in" integer, "refresh_token" varchar(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "client_domain" varchar(255), "personal_url" varchar(255))
193
+  (0.0ms)  SELECT sql
194
+ FROM sqlite_master
195
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
196
+ UNION ALL
197
+ SELECT sql
198
+ FROM sqlite_temp_master
199
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
200
+ 
201
+  (0.1ms) CREATE INDEX "tindex_askydrive_tokens_on_user_id" ON "askydrive_tokens" ("user_id")
202
+  (0.0ms) SELECT * FROM "skydrive_tokens"
203
+  (0.3ms) DROP TABLE "skydrive_tokens"
204
+  (0.1ms) CREATE TABLE "skydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" text(255), "expires_in" integer, "refresh_token" text(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "client_domain" varchar(255), "personal_url" varchar(255)) 
205
+  (0.0ms) SELECT sql
206
+ FROM sqlite_master
207
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
208
+ UNION ALL
209
+ SELECT sql
210
+ FROM sqlite_temp_master
211
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
212
+
213
+  (0.1ms) CREATE INDEX "index_skydrive_tokens_on_user_id" ON "skydrive_tokens" ("user_id")
214
+  (0.0ms) SELECT * FROM "askydrive_tokens"
215
+  (0.1ms) DROP TABLE "askydrive_tokens"
216
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130802231147"]]
217
+  (0.9ms) commit transaction
218
+ Migrating to SkydriveNamespace (20140103221052)
219
+  (0.0ms) begin transaction
220
+  (0.3ms) ALTER TABLE "api_keys" RENAME TO "skydrive_api_keys"
221
+  (0.0ms) SELECT sql
222
+ FROM sqlite_master
223
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
224
+ UNION ALL
225
+ SELECT sql
226
+ FROM sqlite_temp_master
227
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
228
+
229
+  (0.0ms)  SELECT sql
230
+ FROM sqlite_master
231
+ WHERE name='index_api_keys_on_access_token' AND type='index'
232
+ UNION ALL
233
+ SELECT sql
234
+ FROM sqlite_temp_master
235
+ WHERE name='index_api_keys_on_access_token' AND type='index'
236
+ 
237
+  (0.0ms) SELECT sql
238
+ FROM sqlite_master
239
+ WHERE name='index_api_keys_on_user_id' AND type='index'
240
+ UNION ALL
241
+ SELECT sql
242
+ FROM sqlite_temp_master
243
+ WHERE name='index_api_keys_on_user_id' AND type='index'
244
+
245
+  (0.0ms)  SELECT sql
246
+ FROM sqlite_master
247
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
248
+ UNION ALL
249
+ SELECT sql
250
+ FROM sqlite_temp_master
251
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
252
+ 
253
+  (0.0ms) SELECT sql
254
+ FROM sqlite_master
255
+ WHERE name='index_api_keys_on_access_token' AND type='index'
256
+ UNION ALL
257
+ SELECT sql
258
+ FROM sqlite_temp_master
259
+ WHERE name='index_api_keys_on_access_token' AND type='index'
260
+
261
+  (0.0ms)  SELECT sql
262
+ FROM sqlite_master
263
+ WHERE name='index_api_keys_on_user_id' AND type='index'
264
+ UNION ALL
265
+ SELECT sql
266
+ FROM sqlite_temp_master
267
+ WHERE name='index_api_keys_on_user_id' AND type='index'
268
+ 
269
+  (0.0ms) SELECT sql
270
+ FROM sqlite_master
271
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
272
+ UNION ALL
273
+ SELECT sql
274
+ FROM sqlite_temp_master
275
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
276
+
277
+  (0.0ms)  SELECT sql
278
+ FROM sqlite_master
279
+ WHERE name='index_api_keys_on_access_token' AND type='index'
280
+ UNION ALL
281
+ SELECT sql
282
+ FROM sqlite_temp_master
283
+ WHERE name='index_api_keys_on_access_token' AND type='index'
284
+ 
285
+  (0.0ms) SELECT sql
286
+ FROM sqlite_master
287
+ WHERE name='index_api_keys_on_user_id' AND type='index'
288
+ UNION ALL
289
+ SELECT sql
290
+ FROM sqlite_temp_master
291
+ WHERE name='index_api_keys_on_user_id' AND type='index'
292
+
293
+  (0.1ms) CREATE INDEX "index_skydrive_api_keys_on_oauth_code" ON "skydrive_api_keys" ("oauth_code")
294
+  (0.0ms) SELECT sql
295
+ FROM sqlite_master
296
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
297
+ UNION ALL
298
+ SELECT sql
299
+ FROM sqlite_temp_master
300
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
301
+
302
+  (0.0ms)  SELECT sql
303
+ FROM sqlite_master
304
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
305
+ UNION ALL
306
+ SELECT sql
307
+ FROM sqlite_temp_master
308
+ WHERE name='index_api_keys_on_oauth_code' AND type='index'
309
+ 
310
+  (0.0ms) SELECT sql
311
+ FROM sqlite_master
312
+ WHERE name='index_api_keys_on_access_token' AND type='index'
313
+ UNION ALL
314
+ SELECT sql
315
+ FROM sqlite_temp_master
316
+ WHERE name='index_api_keys_on_access_token' AND type='index'
317
+
318
+  (0.0ms)  SELECT sql
319
+ FROM sqlite_master
320
+ WHERE name='index_api_keys_on_user_id' AND type='index'
321
+ UNION ALL
322
+ SELECT sql
323
+ FROM sqlite_temp_master
324
+ WHERE name='index_api_keys_on_user_id' AND type='index'
325
+ 
326
+  (0.3ms) DROP INDEX "index_api_keys_on_oauth_code"
327
+  (0.0ms)  SELECT sql
328
+ FROM sqlite_master
329
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
330
+ UNION ALL
331
+ SELECT sql
332
+ FROM sqlite_temp_master
333
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
334
+ 
335
+  (0.0ms) SELECT sql
336
+ FROM sqlite_master
337
+ WHERE name='index_api_keys_on_access_token' AND type='index'
338
+ UNION ALL
339
+ SELECT sql
340
+ FROM sqlite_temp_master
341
+ WHERE name='index_api_keys_on_access_token' AND type='index'
342
+
343
+  (0.0ms)  SELECT sql
344
+ FROM sqlite_master
345
+ WHERE name='index_api_keys_on_user_id' AND type='index'
346
+ UNION ALL
347
+ SELECT sql
348
+ FROM sqlite_temp_master
349
+ WHERE name='index_api_keys_on_user_id' AND type='index'
350
+ 
351
+  (0.0ms) SELECT sql
352
+ FROM sqlite_master
353
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
354
+ UNION ALL
355
+ SELECT sql
356
+ FROM sqlite_temp_master
357
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
358
+
359
+  (0.0ms)  SELECT sql
360
+ FROM sqlite_master
361
+ WHERE name='index_api_keys_on_access_token' AND type='index'
362
+ UNION ALL
363
+ SELECT sql
364
+ FROM sqlite_temp_master
365
+ WHERE name='index_api_keys_on_access_token' AND type='index'
366
+ 
367
+  (0.0ms) SELECT sql
368
+ FROM sqlite_master
369
+ WHERE name='index_api_keys_on_user_id' AND type='index'
370
+ UNION ALL
371
+ SELECT sql
372
+ FROM sqlite_temp_master
373
+ WHERE name='index_api_keys_on_user_id' AND type='index'
374
+
375
+  (0.1ms) CREATE INDEX "index_skydrive_api_keys_on_access_token" ON "skydrive_api_keys" ("access_token")
376
+  (0.1ms) SELECT sql
377
+ FROM sqlite_master
378
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
379
+ UNION ALL
380
+ SELECT sql
381
+ FROM sqlite_temp_master
382
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
383
+
384
+  (0.0ms)  SELECT sql
385
+ FROM sqlite_master
386
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
387
+ UNION ALL
388
+ SELECT sql
389
+ FROM sqlite_temp_master
390
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
391
+ 
392
+  (0.0ms) SELECT sql
393
+ FROM sqlite_master
394
+ WHERE name='index_api_keys_on_access_token' AND type='index'
395
+ UNION ALL
396
+ SELECT sql
397
+ FROM sqlite_temp_master
398
+ WHERE name='index_api_keys_on_access_token' AND type='index'
399
+
400
+  (0.0ms)  SELECT sql
401
+ FROM sqlite_master
402
+ WHERE name='index_api_keys_on_user_id' AND type='index'
403
+ UNION ALL
404
+ SELECT sql
405
+ FROM sqlite_temp_master
406
+ WHERE name='index_api_keys_on_user_id' AND type='index'
407
+ 
408
+  (0.1ms) DROP INDEX "index_api_keys_on_access_token"
409
+  (0.0ms)  SELECT sql
410
+ FROM sqlite_master
411
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
412
+ UNION ALL
413
+ SELECT sql
414
+ FROM sqlite_temp_master
415
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
416
+ 
417
+  (0.0ms) SELECT sql
418
+ FROM sqlite_master
419
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
420
+ UNION ALL
421
+ SELECT sql
422
+ FROM sqlite_temp_master
423
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
424
+
425
+  (0.0ms)  SELECT sql
426
+ FROM sqlite_master
427
+ WHERE name='index_api_keys_on_user_id' AND type='index'
428
+ UNION ALL
429
+ SELECT sql
430
+ FROM sqlite_temp_master
431
+ WHERE name='index_api_keys_on_user_id' AND type='index'
432
+ 
433
+  (0.0ms) SELECT sql
434
+ FROM sqlite_master
435
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
436
+ UNION ALL
437
+ SELECT sql
438
+ FROM sqlite_temp_master
439
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
440
+
441
+  (0.0ms)  SELECT sql
442
+ FROM sqlite_master
443
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
444
+ UNION ALL
445
+ SELECT sql
446
+ FROM sqlite_temp_master
447
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
448
+ 
449
+  (0.0ms) SELECT sql
450
+ FROM sqlite_master
451
+ WHERE name='index_api_keys_on_user_id' AND type='index'
452
+ UNION ALL
453
+ SELECT sql
454
+ FROM sqlite_temp_master
455
+ WHERE name='index_api_keys_on_user_id' AND type='index'
456
+
457
+  (0.1ms) CREATE INDEX "index_skydrive_api_keys_on_user_id" ON "skydrive_api_keys" ("user_id")
458
+  (0.1ms) SELECT sql
459
+ FROM sqlite_master
460
+ WHERE name='index_skydrive_api_keys_on_user_id' AND type='index'
461
+ UNION ALL
462
+ SELECT sql
463
+ FROM sqlite_temp_master
464
+ WHERE name='index_skydrive_api_keys_on_user_id' AND type='index'
465
+
466
+  (0.0ms)  SELECT sql
467
+ FROM sqlite_master
468
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
469
+ UNION ALL
470
+ SELECT sql
471
+ FROM sqlite_temp_master
472
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
473
+ 
474
+  (0.0ms) SELECT sql
475
+ FROM sqlite_master
476
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
477
+ UNION ALL
478
+ SELECT sql
479
+ FROM sqlite_temp_master
480
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
481
+
482
+  (0.0ms)  SELECT sql
483
+ FROM sqlite_master
484
+ WHERE name='index_api_keys_on_user_id' AND type='index'
485
+ UNION ALL
486
+ SELECT sql
487
+ FROM sqlite_temp_master
488
+ WHERE name='index_api_keys_on_user_id' AND type='index'
489
+ 
490
+  (0.1ms) DROP INDEX "index_api_keys_on_user_id"
491
+  (0.1ms) ALTER TABLE "lti_keys" RENAME TO "skydrive_lti_keys"
492
+  (0.0ms) SELECT sql
493
+ FROM sqlite_master
494
+ WHERE name='index_lti_keys_on_key' AND type='index'
495
+ UNION ALL
496
+ SELECT sql
497
+ FROM sqlite_temp_master
498
+ WHERE name='index_lti_keys_on_key' AND type='index'
499
+
500
+  (0.0ms)  SELECT sql
501
+ FROM sqlite_master
502
+ WHERE name='index_lti_keys_on_key' AND type='index'
503
+ UNION ALL
504
+ SELECT sql
505
+ FROM sqlite_temp_master
506
+ WHERE name='index_lti_keys_on_key' AND type='index'
507
+ 
508
+  (0.0ms) SELECT sql
509
+ FROM sqlite_master
510
+ WHERE name='index_lti_keys_on_key' AND type='index'
511
+ UNION ALL
512
+ SELECT sql
513
+ FROM sqlite_temp_master
514
+ WHERE name='index_lti_keys_on_key' AND type='index'
515
+
516
+  (0.1ms) CREATE INDEX "index_skydrive_lti_keys_on_key" ON "skydrive_lti_keys" ("key")
517
+  (0.0ms) SELECT sql
518
+ FROM sqlite_master
519
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
520
+ UNION ALL
521
+ SELECT sql
522
+ FROM sqlite_temp_master
523
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
524
+
525
+  (0.0ms)  SELECT sql
526
+ FROM sqlite_master
527
+ WHERE name='index_lti_keys_on_key' AND type='index'
528
+ UNION ALL
529
+ SELECT sql
530
+ FROM sqlite_temp_master
531
+ WHERE name='index_lti_keys_on_key' AND type='index'
532
+ 
533
+  (0.1ms) DROP INDEX "index_lti_keys_on_key"
534
+  (0.1ms) ALTER TABLE "users" RENAME TO "skydrive_users"
535
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140103221052"]]
536
+  (0.7ms) commit transaction
537
+ Migrating to ChangeLtiKeysToAccount (20140910210840)
538
+  (0.0ms) begin transaction
539
+  (0.2ms) ALTER TABLE "skydrive_lti_keys" RENAME TO "skydrive_accounts"
540
+  (0.0ms) SELECT sql
541
+ FROM sqlite_master
542
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
543
+ UNION ALL
544
+ SELECT sql
545
+ FROM sqlite_temp_master
546
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
547
+
548
+  (0.0ms)  SELECT sql
549
+ FROM sqlite_master
550
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
551
+ UNION ALL
552
+ SELECT sql
553
+ FROM sqlite_temp_master
554
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
555
+ 
556
+  (0.0ms) SELECT sql
557
+ FROM sqlite_master
558
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
559
+ UNION ALL
560
+ SELECT sql
561
+ FROM sqlite_temp_master
562
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
563
+
564
+  (0.1ms) CREATE INDEX "index_skydrive_accounts_on_key" ON "skydrive_accounts" ("key")
565
+  (0.0ms) SELECT sql
566
+ FROM sqlite_master
567
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
568
+ UNION ALL
569
+ SELECT sql
570
+ FROM sqlite_temp_master
571
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
572
+
573
+  (0.0ms)  SELECT sql
574
+ FROM sqlite_master
575
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
576
+ UNION ALL
577
+ SELECT sql
578
+ FROM sqlite_temp_master
579
+ WHERE name='index_skydrive_lti_keys_on_key' AND type='index'
580
+ 
581
+  (0.2ms) DROP INDEX "index_skydrive_lti_keys_on_key"
582
+  (0.1ms) ALTER TABLE "skydrive_accounts" ADD "tool_consumer_instance_guid" text
583
+  (0.1ms) ALTER TABLE "skydrive_accounts" ADD "admin_id" integer
584
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140910210840"]]
585
+  (0.7ms) commit transaction
586
+ Migrating to AddAccountToUsers (20140910214356)
587
+  (0.0ms) begin transaction
588
+  (0.2ms) ALTER TABLE "skydrive_users" ADD "account_id" integer
589
+  (0.1ms) ALTER TABLE "skydrive_users" ADD "lti_user_id" text
590
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140910214356"]]
591
+  (0.6ms) commit transaction
592
+ Migrating to RemoveAdminsAndClientDomain (20141212214641)
593
+  (0.0ms) begin transaction
594
+  (0.1ms) CREATE TEMPORARY TABLE "askydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" text(255), "expires_in" integer, "refresh_token" text(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "client_domain" varchar(255), "personal_url" varchar(255)) 
595
+  (0.1ms) SELECT sql
596
+ FROM sqlite_master
597
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
598
+ UNION ALL
599
+ SELECT sql
600
+ FROM sqlite_temp_master
601
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
602
+
603
+  (0.1ms) CREATE INDEX "tindex_askydrive_tokens_on_user_id" ON "askydrive_tokens" ("user_id")
604
+  (0.1ms) SELECT * FROM "skydrive_tokens"
605
+  (0.2ms) DROP TABLE "skydrive_tokens"
606
+  (0.1ms) CREATE TABLE "skydrive_tokens" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "token_type" varchar(255), "access_token" text(255), "expires_in" integer, "refresh_token" text(255), "not_before" datetime, "expires_on" datetime, "resource" varchar(255), "personal_url" varchar(255))
607
+  (0.1ms)  SELECT sql
608
+ FROM sqlite_master
609
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
610
+ UNION ALL
611
+ SELECT sql
612
+ FROM sqlite_temp_master
613
+ WHERE name='tindex_askydrive_tokens_on_user_id' AND type='index'
614
+ 
615
+  (0.1ms) CREATE INDEX "index_skydrive_tokens_on_user_id" ON "skydrive_tokens" ("user_id")
616
+  (0.0ms) SELECT * FROM "askydrive_tokens"
617
+  (0.1ms) DROP TABLE "askydrive_tokens"
618
+  (0.1ms) CREATE TEMPORARY TABLE "askydrive_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "key" varchar(255), "secret" varchar(255), "tool_consumer_instance_guid" text, "admin_id" integer) 
619
+  (0.0ms) SELECT sql
620
+ FROM sqlite_master
621
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
622
+ UNION ALL
623
+ SELECT sql
624
+ FROM sqlite_temp_master
625
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
626
+
627
+  (0.1ms) CREATE INDEX "tindex_askydrive_accounts_on_key" ON "askydrive_accounts" ("key")
628
+  (0.0ms) SELECT * FROM "skydrive_accounts"
629
+  (0.3ms) DROP TABLE "skydrive_accounts"
630
+  (0.1ms) CREATE TABLE "skydrive_accounts" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "key" varchar(255), "secret" varchar(255), "tool_consumer_instance_guid" text)
631
+  (0.0ms)  SELECT sql
632
+ FROM sqlite_master
633
+ WHERE name='tindex_askydrive_accounts_on_key' AND type='index'
634
+ UNION ALL
635
+ SELECT sql
636
+ FROM sqlite_temp_master
637
+ WHERE name='tindex_askydrive_accounts_on_key' AND type='index'
638
+ 
639
+  (0.1ms) CREATE INDEX "index_skydrive_accounts_on_key" ON "skydrive_accounts" ("key")
640
+  (0.0ms) SELECT * FROM "askydrive_accounts"
641
+  (0.1ms) DROP TABLE "askydrive_accounts"
642
+ SQL (0.1ms) DELETE FROM "skydrive_users"
643
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141212214641"]]
644
+  (0.9ms) commit transaction
645
+ Migrating to AddPersonRequestInfoToAccounts (20141218213907)
646
+  (0.0ms) begin transaction
647
+  (0.3ms) ALTER TABLE "skydrive_accounts" ADD "name" varchar(255)
648
+  (0.1ms) ALTER TABLE "skydrive_accounts" ADD "email" varchar(255)
649
+  (0.1ms) ALTER TABLE "skydrive_accounts" ADD "institution" varchar(255)
650
+  (0.1ms) ALTER TABLE "skydrive_accounts" ADD "title" varchar(255)
651
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141218213907"]]
652
+  (0.7ms) commit transaction
653
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
654
+  (0.1ms) SELECT sql
655
+ FROM sqlite_master
656
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
657
+ UNION ALL
658
+ SELECT sql
659
+ FROM sqlite_temp_master
660
+ WHERE name='index_skydrive_accounts_on_key' AND type='index'
661
+
662
+  (0.1ms)  SELECT sql
663
+ FROM sqlite_master
664
+ WHERE name='index_skydrive_api_keys_on_user_id' AND type='index'
665
+ UNION ALL
666
+ SELECT sql
667
+ FROM sqlite_temp_master
668
+ WHERE name='index_skydrive_api_keys_on_user_id' AND type='index'
669
+ 
670
+  (0.1ms) SELECT sql
671
+ FROM sqlite_master
672
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
673
+ UNION ALL
674
+ SELECT sql
675
+ FROM sqlite_temp_master
676
+ WHERE name='index_skydrive_api_keys_on_access_token' AND type='index'
677
+
678
+  (0.1ms)  SELECT sql
679
+ FROM sqlite_master
680
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
681
+ UNION ALL
682
+ SELECT sql
683
+ FROM sqlite_temp_master
684
+ WHERE name='index_skydrive_api_keys_on_oauth_code' AND type='index'
685
+ 
686
+  (0.1ms) SELECT sql
687
+ FROM sqlite_master
688
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
689
+ UNION ALL
690
+ SELECT sql
691
+ FROM sqlite_temp_master
692
+ WHERE name='index_skydrive_tokens_on_user_id' AND type='index'
693
+
694
+ ** [Raven] Raven 0.13.1 configured not to send errors.
695
+ Skydrive::Account Load (0.8ms) SELECT "skydrive_accounts".* FROM "skydrive_accounts"
696
+  (0.0ms) begin transaction
697
+ Skydrive::Account Exists (0.2ms) SELECT 1 AS one FROM "skydrive_accounts" WHERE "skydrive_accounts"."key" IS NULL LIMIT 1
698
+  (0.0ms) rollback transaction
699
+  (0.1ms) begin transaction
700
+ Skydrive::Account Exists (0.1ms) SELECT 1 AS one FROM "skydrive_accounts" WHERE "skydrive_accounts"."key" = 'i am a key' LIMIT 1
701
+  (0.1ms) rollback transaction
702
+  (0.1ms) begin transaction
703
+ Skydrive::Account Exists (0.1ms) SELECT 1 AS one FROM "skydrive_accounts" WHERE "skydrive_accounts"."key" = 'i am a key' LIMIT 1
704
+ SQL (0.4ms) INSERT INTO "skydrive_accounts" ("key", "secret") VALUES (?, ?) [["key", "i am a key"], ["secret", " )\n\n"]]
705
+  (1.3ms) commit transaction
706
+ Skydrive::User Load (0.1ms) SELECT "skydrive_users".* FROM "skydrive_users" WHERE "skydrive_users"."account_id" = ? [["account_id", 1]]
707
+  (0.1ms) begin transaction
708
+  (0.1ms) commit transaction
709
+  (0.1ms) begin transaction
710
+  (0.0ms) rollback transaction
711
+  (0.1ms) begin transaction
712
+  (0.0ms) rollback transaction
713
+  (0.1ms) begin transaction
714
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:28:55.316566"], ["name", "name"], ["updated_at", "2015-05-11 21:28:55.316566"], ["username", "user"]]
715
+  (1.3ms) commit transaction
716
+  (0.1ms) begin transaction
717
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:28:57.356940"], ["name", "name"], ["updated_at", "2015-05-11 21:28:57.356940"], ["username", "user"]]
718
+  (1.3ms) commit transaction
719
+  (0.1ms) begin transaction
720
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:28:58.932844"], ["name", "name"], ["updated_at", "2015-05-11 21:28:58.932844"], ["username", "user"]]
721
+  (1.0ms) commit transaction
722
+  (0.1ms) begin transaction
723
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:01.589077"], ["name", "name"], ["updated_at", "2015-05-11 21:29:01.589077"], ["username", "user"]]
724
+  (1.1ms) commit transaction
725
+  (0.1ms) begin transaction
726
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:03.294024"], ["name", "name"], ["updated_at", "2015-05-11 21:29:03.294024"], ["username", "user"]]
727
+  (1.0ms) commit transaction
728
+  (0.1ms) begin transaction
729
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:05.021693"], ["name", "name"], ["updated_at", "2015-05-11 21:29:05.021693"], ["username", "user"]]
730
+  (1.5ms) commit transaction
731
+  (0.1ms) begin transaction
732
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:05.853770"], ["name", "name"], ["updated_at", "2015-05-11 21:29:05.853770"], ["username", "user"]]
733
+  (1.4ms) commit transaction
734
+  (0.1ms) begin transaction
735
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:06.326287"], ["name", "name"], ["updated_at", "2015-05-11 21:29:06.326287"], ["username", "user"]]
736
+  (1.2ms) commit transaction
737
+  (0.1ms) begin transaction
738
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:06.741678"], ["name", "name"], ["updated_at", "2015-05-11 21:29:06.741678"], ["username", "user"]]
739
+  (1.1ms) commit transaction
740
+  (0.1ms) begin transaction
741
+ SQL (0.3ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:07.141831"], ["name", "name"], ["updated_at", "2015-05-11 21:29:07.141831"], ["username", "user"]]
742
+  (1.4ms) commit transaction
743
+  (0.1ms) begin transaction
744
+ SQL (0.4ms) INSERT INTO "skydrive_users" ("account_id", "created_at", "name", "updated_at", "username") VALUES (?, ?, ?, ?, ?) [["account_id", 1], ["created_at", "2015-05-11 21:29:07.510645"], ["name", "name"], ["updated_at", "2015-05-11 21:29:07.510645"], ["username", "user"]]
745
+  (1.2ms) commit transaction