metasploit_data_models 0.18.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +8 -8
  2. data/app/models/mdm/host.rb +7 -0
  3. data/app/models/mdm/service.rb +30 -1
  4. data/app/models/mdm/tag.rb +10 -0
  5. data/app/models/metasploit_data_models/ip_address/v4/cidr.rb +14 -0
  6. data/app/models/metasploit_data_models/ip_address/v4/nmap.rb +14 -0
  7. data/app/models/metasploit_data_models/ip_address/v4/range.rb +12 -0
  8. data/app/models/metasploit_data_models/ip_address/v4/segment/nmap/list.rb +126 -0
  9. data/app/models/metasploit_data_models/ip_address/v4/segment/nmap/range.rb +12 -0
  10. data/app/models/metasploit_data_models/ip_address/v4/segment/single.rb +123 -0
  11. data/app/models/metasploit_data_models/ip_address/v4/segmented.rb +200 -0
  12. data/app/models/metasploit_data_models/ip_address/v4/single.rb +53 -0
  13. data/app/models/metasploit_data_models/search/operation/ip_address.rb +60 -0
  14. data/app/models/metasploit_data_models/search/operator/ip_address.rb +33 -0
  15. data/app/models/metasploit_data_models/search/visitor/attribute.rb +1 -0
  16. data/app/models/metasploit_data_models/search/visitor/includes.rb +1 -0
  17. data/app/models/metasploit_data_models/search/visitor/joins.rb +1 -0
  18. data/app/models/metasploit_data_models/search/visitor/where.rb +51 -0
  19. data/config/locales/en.yml +35 -4
  20. data/lib/metasploit_data_models/ip_address.rb +5 -0
  21. data/lib/metasploit_data_models/ip_address/cidr.rb +174 -0
  22. data/lib/metasploit_data_models/ip_address/range.rb +181 -0
  23. data/lib/metasploit_data_models/match/child.rb +48 -0
  24. data/lib/metasploit_data_models/match/parent.rb +103 -0
  25. data/lib/metasploit_data_models/version.rb +4 -4
  26. data/metasploit_data_models.gemspec +2 -1
  27. data/spec/app/models/mdm/cred_spec.rb +164 -31
  28. data/spec/app/models/mdm/service_spec.rb +33 -44
  29. data/spec/app/models/metasploit_data_models/ip_address/v4/cidr_spec.rb +121 -0
  30. data/spec/app/models/metasploit_data_models/ip_address/v4/nmap_spec.rb +151 -0
  31. data/spec/app/models/metasploit_data_models/ip_address/v4/range_spec.rb +300 -0
  32. data/spec/app/models/metasploit_data_models/ip_address/v4/segment/nmap/list_spec.rb +278 -0
  33. data/spec/app/models/metasploit_data_models/ip_address/v4/segment/nmap/range_spec.rb +304 -0
  34. data/spec/app/models/metasploit_data_models/ip_address/v4/segment/segmented_spec.rb +29 -0
  35. data/spec/app/models/metasploit_data_models/ip_address/v4/segment/single_spec.rb +315 -0
  36. data/spec/app/models/metasploit_data_models/ip_address/v4/single_spec.rb +183 -0
  37. data/spec/app/models/metasploit_data_models/search/operation/ip_address_spec.rb +182 -0
  38. data/spec/app/models/metasploit_data_models/search/operator/ip_address_spec.rb +19 -0
  39. data/spec/app/models/metasploit_data_models/search/visitor/relation_spec.rb +229 -36
  40. data/spec/dummy/config/application.rb +1 -1
  41. data/spec/dummy/db/structure.sql +3011 -0
  42. data/spec/factories/mdm/services.rb +3 -1
  43. data/spec/lib/metasploit_data_models/ip_address/cidr_spec.rb +350 -0
  44. data/spec/lib/metasploit_data_models/ip_address/range_spec.rb +77 -0
  45. data/spec/lib/metasploit_data_models/match/child_spec.rb +61 -0
  46. data/spec/lib/metasploit_data_models/match/parent_spec.rb +155 -0
  47. data/spec/support/matchers/match_regex_exactly.rb +28 -0
  48. data/spec/support/shared/contexts/rex/text.rb +15 -0
  49. data/spec/support/shared/examples/metasploit_data_models/search/operation/ipaddress/match.rb +109 -0
  50. metadata +58 -9
  51. data/spec/dummy/db/schema.rb +0 -609
@@ -1,609 +0,0 @@
1
- # encoding: UTF-8
2
- # This file is auto-generated from the current state of the database. Instead
3
- # of editing this file, please use the migrations feature of Active Record to
4
- # incrementally modify your database, and then regenerate this schema definition.
5
- #
6
- # Note that this schema.rb definition is the authoritative source for your
7
- # database schema. If you need to create the application database on another
8
- # system, you should be using db:schema:load, not running all the migrations
9
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
- # you'll amass, the slower it'll run and the greater likelihood for issues).
11
- #
12
- # It's strongly recommended to check this file into your version control system.
13
-
14
- ActiveRecord::Schema.define(:version => 20130717150737) do
15
-
16
- create_table "api_keys", :force => true do |t|
17
- t.text "token"
18
- t.datetime "created_at", :null => false
19
- t.datetime "updated_at", :null => false
20
- end
21
-
22
- create_table "clients", :force => true do |t|
23
- t.integer "host_id"
24
- t.datetime "created_at"
25
- t.string "ua_string", :limit => 1024, :null => false
26
- t.string "ua_name", :limit => 64
27
- t.string "ua_ver", :limit => 32
28
- t.datetime "updated_at"
29
- end
30
-
31
- create_table "creds", :force => true do |t|
32
- t.integer "service_id", :null => false
33
- t.datetime "created_at", :null => false
34
- t.datetime "updated_at", :null => false
35
- t.string "user", :limit => 2048
36
- t.string "pass", :limit => 4096
37
- t.boolean "active", :default => true
38
- t.string "proof", :limit => 4096
39
- t.string "ptype", :limit => 256
40
- t.integer "source_id"
41
- t.string "source_type"
42
- end
43
-
44
- create_table "events", :force => true do |t|
45
- t.integer "workspace_id"
46
- t.integer "host_id"
47
- t.datetime "created_at"
48
- t.string "name"
49
- t.datetime "updated_at"
50
- t.boolean "critical"
51
- t.boolean "seen"
52
- t.string "username"
53
- t.text "info"
54
- end
55
-
56
- create_table "exploit_attempts", :force => true do |t|
57
- t.integer "host_id"
58
- t.integer "service_id"
59
- t.integer "vuln_id"
60
- t.datetime "attempted_at"
61
- t.boolean "exploited"
62
- t.string "fail_reason"
63
- t.string "username"
64
- t.text "module"
65
- t.integer "session_id"
66
- t.integer "loot_id"
67
- t.integer "port"
68
- t.string "proto"
69
- t.text "fail_detail"
70
- end
71
-
72
- create_table "exploited_hosts", :force => true do |t|
73
- t.integer "host_id", :null => false
74
- t.integer "service_id"
75
- t.string "session_uuid", :limit => 8
76
- t.string "name", :limit => 2048
77
- t.string "payload", :limit => 2048
78
- t.datetime "created_at", :null => false
79
- t.datetime "updated_at", :null => false
80
- end
81
-
82
- create_table "host_details", :force => true do |t|
83
- t.integer "host_id"
84
- t.integer "nx_console_id"
85
- t.integer "nx_device_id"
86
- t.string "src"
87
- t.string "nx_site_name"
88
- t.string "nx_site_importance"
89
- t.string "nx_scan_template"
90
- t.float "nx_risk_score"
91
- end
92
-
93
- create_table "hosts", :force => true do |t|
94
- t.datetime "created_at"
95
- t.string "address", :limit => nil, :null => false
96
- t.string "mac"
97
- t.string "comm"
98
- t.string "name"
99
- t.string "state"
100
- t.string "os_name"
101
- t.string "os_flavor"
102
- t.string "os_sp"
103
- t.string "os_lang"
104
- t.string "arch"
105
- t.integer "workspace_id", :null => false
106
- t.datetime "updated_at"
107
- t.text "purpose"
108
- t.string "info", :limit => 65536
109
- t.text "comments"
110
- t.text "scope"
111
- t.text "virtual_host"
112
- t.integer "note_count", :default => 0
113
- t.integer "vuln_count", :default => 0
114
- t.integer "service_count", :default => 0
115
- t.integer "host_detail_count", :default => 0
116
- t.integer "exploit_attempt_count", :default => 0
117
- t.integer "cred_count", :default => 0
118
- end
119
-
120
- add_index "hosts", ["name"], :name => "index_hosts_on_name"
121
- add_index "hosts", ["os_flavor"], :name => "index_hosts_on_os_flavor"
122
- add_index "hosts", ["os_name"], :name => "index_hosts_on_os_name"
123
- add_index "hosts", ["purpose"], :name => "index_hosts_on_purpose"
124
- add_index "hosts", ["state"], :name => "index_hosts_on_state"
125
- add_index "hosts", ["workspace_id", "address"], :name => "index_hosts_on_workspace_id_and_address", :unique => true
126
-
127
- create_table "hosts_tags", :force => true do |t|
128
- t.integer "host_id"
129
- t.integer "tag_id"
130
- end
131
-
132
- create_table "listeners", :force => true do |t|
133
- t.datetime "created_at", :null => false
134
- t.datetime "updated_at", :null => false
135
- t.integer "workspace_id", :default => 1, :null => false
136
- t.integer "task_id"
137
- t.boolean "enabled", :default => true
138
- t.text "owner"
139
- t.text "payload"
140
- t.text "address"
141
- t.integer "port"
142
- t.binary "options"
143
- t.text "macro"
144
- end
145
-
146
- create_table "loots", :force => true do |t|
147
- t.integer "workspace_id", :default => 1, :null => false
148
- t.integer "host_id"
149
- t.integer "service_id"
150
- t.string "ltype", :limit => 512
151
- t.string "path", :limit => 1024
152
- t.text "data"
153
- t.datetime "created_at", :null => false
154
- t.datetime "updated_at", :null => false
155
- t.string "content_type"
156
- t.text "name"
157
- t.text "info"
158
- end
159
-
160
- create_table "macros", :force => true do |t|
161
- t.datetime "created_at", :null => false
162
- t.datetime "updated_at", :null => false
163
- t.text "owner"
164
- t.text "name"
165
- t.text "description"
166
- t.binary "actions"
167
- t.binary "prefs"
168
- end
169
-
170
- create_table "mod_refs", :force => true do |t|
171
- t.string "module", :limit => 1024
172
- t.string "mtype", :limit => 128
173
- t.text "ref"
174
- end
175
-
176
- create_table "module_actions", :force => true do |t|
177
- t.integer "detail_id"
178
- t.text "name"
179
- end
180
-
181
- add_index "module_actions", ["detail_id"], :name => "index_module_actions_on_module_detail_id"
182
-
183
- create_table "module_archs", :force => true do |t|
184
- t.integer "detail_id"
185
- t.text "name"
186
- end
187
-
188
- add_index "module_archs", ["detail_id"], :name => "index_module_archs_on_module_detail_id"
189
-
190
- create_table "module_authors", :force => true do |t|
191
- t.integer "detail_id"
192
- t.text "name"
193
- t.text "email"
194
- end
195
-
196
- add_index "module_authors", ["detail_id"], :name => "index_module_authors_on_module_detail_id"
197
-
198
- create_table "module_details", :force => true do |t|
199
- t.datetime "mtime"
200
- t.text "file"
201
- t.string "mtype"
202
- t.text "refname"
203
- t.text "fullname"
204
- t.text "name"
205
- t.integer "rank"
206
- t.text "description"
207
- t.string "license"
208
- t.boolean "privileged"
209
- t.datetime "disclosure_date"
210
- t.integer "default_target"
211
- t.text "default_action"
212
- t.string "stance"
213
- t.boolean "ready"
214
- end
215
-
216
- add_index "module_details", ["description"], :name => "index_module_details_on_description"
217
- add_index "module_details", ["mtype"], :name => "index_module_details_on_mtype"
218
- add_index "module_details", ["name"], :name => "index_module_details_on_name"
219
- add_index "module_details", ["refname"], :name => "index_module_details_on_refname"
220
-
221
- create_table "module_mixins", :force => true do |t|
222
- t.integer "detail_id"
223
- t.text "name"
224
- end
225
-
226
- add_index "module_mixins", ["detail_id"], :name => "index_module_mixins_on_module_detail_id"
227
-
228
- create_table "module_platforms", :force => true do |t|
229
- t.integer "detail_id"
230
- t.text "name"
231
- end
232
-
233
- add_index "module_platforms", ["detail_id"], :name => "index_module_platforms_on_module_detail_id"
234
-
235
- create_table "module_refs", :force => true do |t|
236
- t.integer "detail_id"
237
- t.text "name"
238
- end
239
-
240
- add_index "module_refs", ["detail_id"], :name => "index_module_refs_on_module_detail_id"
241
- add_index "module_refs", ["name"], :name => "index_module_refs_on_name"
242
-
243
- create_table "module_targets", :force => true do |t|
244
- t.integer "detail_id"
245
- t.integer "index"
246
- t.text "name"
247
- end
248
-
249
- add_index "module_targets", ["detail_id"], :name => "index_module_targets_on_module_detail_id"
250
-
251
- create_table "nexpose_consoles", :force => true do |t|
252
- t.datetime "created_at", :null => false
253
- t.datetime "updated_at", :null => false
254
- t.boolean "enabled", :default => true
255
- t.text "owner"
256
- t.text "address"
257
- t.integer "port", :default => 3780
258
- t.text "username"
259
- t.text "password"
260
- t.text "status"
261
- t.text "version"
262
- t.text "cert"
263
- t.binary "cached_sites"
264
- t.text "name"
265
- end
266
-
267
- create_table "notes", :force => true do |t|
268
- t.datetime "created_at"
269
- t.string "ntype", :limit => 512
270
- t.integer "workspace_id", :default => 1, :null => false
271
- t.integer "service_id"
272
- t.integer "host_id"
273
- t.datetime "updated_at"
274
- t.boolean "critical"
275
- t.boolean "seen"
276
- t.text "data"
277
- end
278
-
279
- add_index "notes", ["ntype"], :name => "index_notes_on_ntype"
280
-
281
- create_table "profiles", :force => true do |t|
282
- t.datetime "created_at", :null => false
283
- t.datetime "updated_at", :null => false
284
- t.boolean "active", :default => true
285
- t.text "name"
286
- t.text "owner"
287
- t.binary "settings"
288
- end
289
-
290
- create_table "refs", :force => true do |t|
291
- t.integer "ref_id"
292
- t.datetime "created_at"
293
- t.string "name", :limit => 512
294
- t.datetime "updated_at"
295
- end
296
-
297
- add_index "refs", ["name"], :name => "index_refs_on_name"
298
-
299
- create_table "report_templates", :force => true do |t|
300
- t.integer "workspace_id", :default => 1, :null => false
301
- t.string "created_by"
302
- t.string "path", :limit => 1024
303
- t.text "name"
304
- t.datetime "created_at", :null => false
305
- t.datetime "updated_at", :null => false
306
- end
307
-
308
- create_table "reports", :force => true do |t|
309
- t.integer "workspace_id", :default => 1, :null => false
310
- t.string "created_by"
311
- t.string "rtype"
312
- t.string "path", :limit => 1024
313
- t.text "options"
314
- t.datetime "created_at", :null => false
315
- t.datetime "updated_at", :null => false
316
- t.datetime "downloaded_at"
317
- t.integer "task_id"
318
- t.string "name", :limit => 63
319
- end
320
-
321
- create_table "routes", :force => true do |t|
322
- t.integer "session_id"
323
- t.string "subnet"
324
- t.string "netmask"
325
- end
326
-
327
- create_table "services", :force => true do |t|
328
- t.integer "host_id"
329
- t.datetime "created_at"
330
- t.integer "port", :null => false
331
- t.string "proto", :limit => 16, :null => false
332
- t.string "state"
333
- t.string "name"
334
- t.datetime "updated_at"
335
- t.text "info"
336
- end
337
-
338
- add_index "services", ["name"], :name => "index_services_on_name"
339
- add_index "services", ["port"], :name => "index_services_on_port"
340
- add_index "services", ["proto"], :name => "index_services_on_proto"
341
- add_index "services", ["state"], :name => "index_services_on_state"
342
-
343
- create_table "session_events", :force => true do |t|
344
- t.integer "session_id"
345
- t.string "etype"
346
- t.binary "command"
347
- t.binary "output"
348
- t.string "remote_path"
349
- t.string "local_path"
350
- t.datetime "created_at"
351
- end
352
-
353
- create_table "sessions", :force => true do |t|
354
- t.integer "host_id"
355
- t.string "stype"
356
- t.string "via_exploit"
357
- t.string "via_payload"
358
- t.string "desc"
359
- t.integer "port"
360
- t.string "platform"
361
- t.text "datastore"
362
- t.datetime "opened_at", :null => false
363
- t.datetime "closed_at"
364
- t.string "close_reason"
365
- t.integer "local_id"
366
- t.datetime "last_seen"
367
- end
368
-
369
- create_table "tags", :force => true do |t|
370
- t.integer "user_id"
371
- t.string "name", :limit => 1024
372
- t.text "desc"
373
- t.boolean "report_summary", :default => false, :null => false
374
- t.boolean "report_detail", :default => false, :null => false
375
- t.boolean "critical", :default => false, :null => false
376
- t.datetime "created_at", :null => false
377
- t.datetime "updated_at", :null => false
378
- end
379
-
380
- create_table "task_creds", :force => true do |t|
381
- t.integer "task_id", :null => false
382
- t.integer "cred_id", :null => false
383
- t.datetime "created_at", :null => false
384
- t.datetime "updated_at", :null => false
385
- end
386
-
387
- create_table "task_hosts", :force => true do |t|
388
- t.integer "task_id", :null => false
389
- t.integer "host_id", :null => false
390
- t.datetime "created_at", :null => false
391
- t.datetime "updated_at", :null => false
392
- end
393
-
394
- create_table "task_services", :force => true do |t|
395
- t.integer "task_id", :null => false
396
- t.integer "service_id", :null => false
397
- t.datetime "created_at", :null => false
398
- t.datetime "updated_at", :null => false
399
- end
400
-
401
- create_table "task_sessions", :force => true do |t|
402
- t.integer "task_id", :null => false
403
- t.integer "session_id", :null => false
404
- t.datetime "created_at", :null => false
405
- t.datetime "updated_at", :null => false
406
- end
407
-
408
- create_table "tasks", :force => true do |t|
409
- t.integer "workspace_id", :default => 1, :null => false
410
- t.string "created_by"
411
- t.string "module"
412
- t.datetime "completed_at"
413
- t.string "path", :limit => 1024
414
- t.string "info"
415
- t.string "description"
416
- t.integer "progress"
417
- t.text "options"
418
- t.text "error"
419
- t.datetime "created_at", :null => false
420
- t.datetime "updated_at", :null => false
421
- t.text "result"
422
- t.string "module_uuid", :limit => 8
423
- t.binary "settings"
424
- end
425
-
426
- create_table "users", :force => true do |t|
427
- t.string "username"
428
- t.string "crypted_password"
429
- t.string "password_salt"
430
- t.string "persistence_token"
431
- t.datetime "created_at", :null => false
432
- t.datetime "updated_at", :null => false
433
- t.string "fullname"
434
- t.string "email"
435
- t.string "phone"
436
- t.string "company"
437
- t.string "prefs", :limit => 524288
438
- t.boolean "admin", :default => true, :null => false
439
- end
440
-
441
- create_table "vuln_attempts", :force => true do |t|
442
- t.integer "vuln_id"
443
- t.datetime "attempted_at"
444
- t.boolean "exploited"
445
- t.string "fail_reason"
446
- t.string "username"
447
- t.text "module"
448
- t.integer "session_id"
449
- t.integer "loot_id"
450
- t.text "fail_detail"
451
- end
452
-
453
- create_table "vuln_details", :force => true do |t|
454
- t.integer "vuln_id"
455
- t.float "cvss_score"
456
- t.string "cvss_vector"
457
- t.string "title"
458
- t.text "description"
459
- t.text "solution"
460
- t.binary "proof"
461
- t.integer "nx_console_id"
462
- t.integer "nx_device_id"
463
- t.string "nx_vuln_id"
464
- t.float "nx_severity"
465
- t.float "nx_pci_severity"
466
- t.datetime "nx_published"
467
- t.datetime "nx_added"
468
- t.datetime "nx_modified"
469
- t.text "nx_tags"
470
- t.text "nx_vuln_status"
471
- t.text "nx_proof_key"
472
- t.string "src"
473
- t.integer "nx_scan_id"
474
- t.datetime "nx_vulnerable_since"
475
- t.string "nx_pci_compliance_status"
476
- end
477
-
478
- create_table "vulns", :force => true do |t|
479
- t.integer "host_id"
480
- t.integer "service_id"
481
- t.datetime "created_at"
482
- t.string "name"
483
- t.datetime "updated_at"
484
- t.string "info", :limit => 65536
485
- t.datetime "exploited_at"
486
- t.integer "vuln_detail_count", :default => 0
487
- t.integer "vuln_attempt_count", :default => 0
488
- end
489
-
490
- add_index "vulns", ["name"], :name => "index_vulns_on_name"
491
-
492
- create_table "vulns_refs", :force => true do |t|
493
- t.integer "ref_id"
494
- t.integer "vuln_id"
495
- end
496
-
497
- create_table "web_forms", :force => true do |t|
498
- t.integer "web_site_id", :null => false
499
- t.datetime "created_at", :null => false
500
- t.datetime "updated_at", :null => false
501
- t.text "path"
502
- t.string "method", :limit => 1024
503
- t.text "params"
504
- t.text "query"
505
- end
506
-
507
- add_index "web_forms", ["path"], :name => "index_web_forms_on_path"
508
-
509
- create_table "web_pages", :force => true do |t|
510
- t.integer "web_site_id", :null => false
511
- t.datetime "created_at", :null => false
512
- t.datetime "updated_at", :null => false
513
- t.text "path"
514
- t.text "query"
515
- t.integer "code", :null => false
516
- t.text "cookie"
517
- t.text "auth"
518
- t.text "ctype"
519
- t.datetime "mtime"
520
- t.text "location"
521
- t.text "headers"
522
- t.binary "body"
523
- t.binary "request"
524
- end
525
-
526
- add_index "web_pages", ["path"], :name => "index_web_pages_on_path"
527
- add_index "web_pages", ["query"], :name => "index_web_pages_on_query"
528
-
529
- create_table "web_sites", :force => true do |t|
530
- t.integer "service_id", :null => false
531
- t.datetime "created_at", :null => false
532
- t.datetime "updated_at", :null => false
533
- t.string "vhost", :limit => 2048
534
- t.text "comments"
535
- t.text "options"
536
- end
537
-
538
- add_index "web_sites", ["comments"], :name => "index_web_sites_on_comments"
539
- add_index "web_sites", ["options"], :name => "index_web_sites_on_options"
540
- add_index "web_sites", ["vhost"], :name => "index_web_sites_on_vhost"
541
-
542
- create_table "web_vulns", :force => true do |t|
543
- t.integer "web_site_id", :null => false
544
- t.datetime "created_at", :null => false
545
- t.datetime "updated_at", :null => false
546
- t.text "path", :null => false
547
- t.string "method", :limit => 1024, :null => false
548
- t.text "params", :null => false
549
- t.text "pname"
550
- t.integer "risk", :null => false
551
- t.string "name", :limit => 1024, :null => false
552
- t.text "query"
553
- t.text "category", :null => false
554
- t.integer "confidence", :null => false
555
- t.text "description"
556
- t.text "blame"
557
- t.binary "request"
558
- t.binary "proof", :null => false
559
- t.string "owner"
560
- t.text "payload"
561
- end
562
-
563
- add_index "web_vulns", ["method"], :name => "index_web_vulns_on_method"
564
- add_index "web_vulns", ["name"], :name => "index_web_vulns_on_name"
565
- add_index "web_vulns", ["path"], :name => "index_web_vulns_on_path"
566
-
567
- create_table "wmap_requests", :force => true do |t|
568
- t.string "host"
569
- t.string "address", :limit => nil
570
- t.integer "port"
571
- t.integer "ssl"
572
- t.string "meth", :limit => 32
573
- t.text "path"
574
- t.text "headers"
575
- t.text "query"
576
- t.text "body"
577
- t.string "respcode", :limit => 16
578
- t.text "resphead"
579
- t.text "response"
580
- t.datetime "created_at"
581
- t.datetime "updated_at"
582
- end
583
-
584
- create_table "wmap_targets", :force => true do |t|
585
- t.string "host"
586
- t.string "address", :limit => nil
587
- t.integer "port"
588
- t.integer "ssl"
589
- t.integer "selected"
590
- t.datetime "created_at"
591
- t.datetime "updated_at"
592
- end
593
-
594
- create_table "workspace_members", :id => false, :force => true do |t|
595
- t.integer "workspace_id", :null => false
596
- t.integer "user_id", :null => false
597
- end
598
-
599
- create_table "workspaces", :force => true do |t|
600
- t.string "name"
601
- t.datetime "created_at", :null => false
602
- t.datetime "updated_at", :null => false
603
- t.string "boundary", :limit => 4096
604
- t.string "description", :limit => 4096
605
- t.integer "owner_id"
606
- t.boolean "limit_to_network", :default => false, :null => false
607
- end
608
-
609
- end