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.
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).
12 # It's strongly recommended to check this file into your version control system.
14 ActiveRecord::Schema.define(:version => 20140527152921) do
18 create_table "api_client_authorizations", :force => true do |t|
19 t.string "api_token", :null => false
20 t.integer "api_client_id", :null => false
21 t.integer "user_id", :null => false
22 t.string "created_by_ip_address"
23 t.string "last_used_by_ip_address"
24 t.datetime "last_used_at"
25 t.datetime "expires_at"
26 t.datetime "created_at", :null => false
27 t.datetime "updated_at", :null => false
28 t.string "default_owner_uuid"
29 t.text "scopes", :default => "---\n- all\n", :null => false
32 add_index "api_client_authorizations", ["api_client_id"], :name => "index_api_client_authorizations_on_api_client_id"
33 add_index "api_client_authorizations", ["api_token"], :name => "index_api_client_authorizations_on_api_token", :unique => true
34 add_index "api_client_authorizations", ["expires_at"], :name => "index_api_client_authorizations_on_expires_at"
35 add_index "api_client_authorizations", ["user_id"], :name => "index_api_client_authorizations_on_user_id"
37 create_table "api_clients", :force => true do |t|
40 t.string "modified_by_client_uuid"
41 t.string "modified_by_user_uuid"
42 t.datetime "modified_at"
45 t.datetime "created_at", :null => false
46 t.datetime "updated_at", :null => false
47 t.boolean "is_trusted", :default => false
50 add_index "api_clients", ["created_at"], :name => "index_api_clients_on_created_at"
51 add_index "api_clients", ["modified_at"], :name => "index_api_clients_on_modified_at"
52 add_index "api_clients", ["uuid"], :name => "index_api_clients_on_uuid", :unique => true
54 create_table "authorized_keys", :force => true do |t|
55 t.string "uuid", :null => false
56 t.string "owner_uuid", :null => false
57 t.string "modified_by_client_uuid"
58 t.string "modified_by_user_uuid"
59 t.datetime "modified_at"
62 t.string "authorized_user_uuid"
64 t.datetime "expires_at"
65 t.datetime "created_at", :null => false
66 t.datetime "updated_at", :null => false
69 add_index "authorized_keys", ["authorized_user_uuid", "expires_at"], :name => "index_authkeys_on_user_and_expires_at"
70 add_index "authorized_keys", ["uuid"], :name => "index_authorized_keys_on_uuid", :unique => true
72 create_table "collections", :force => true do |t|
75 t.datetime "created_at", :null => false
76 t.string "modified_by_client_uuid"
77 t.string "modified_by_user_uuid"
78 t.datetime "modified_at"
79 t.string "portable_data_hash"
81 t.integer "redundancy"
82 t.string "redundancy_confirmed_by_client_uuid"
83 t.datetime "redundancy_confirmed_at"
84 t.integer "redundancy_confirmed_as"
85 t.datetime "updated_at", :null => false
87 t.text "manifest_text"
90 add_index "collections", ["created_at"], :name => "index_collections_on_created_at"
91 add_index "collections", ["modified_at"], :name => "index_collections_on_modified_at"
92 add_index "collections", ["uuid"], :name => "index_collections_on_uuid", :unique => true
94 create_table "commit_ancestors", :force => true do |t|
95 t.string "repository_name"
96 t.string "descendant", :null => false
97 t.string "ancestor", :null => false
98 t.boolean "is", :default => false, :null => false
99 t.datetime "created_at", :null => false
100 t.datetime "updated_at", :null => false
103 add_index "commit_ancestors", ["descendant", "ancestor"], :name => "index_commit_ancestors_on_descendant_and_ancestor", :unique => true
105 create_table "commits", :force => true do |t|
106 t.string "repository_name"
109 t.datetime "created_at", :null => false
110 t.datetime "updated_at", :null => false
113 add_index "commits", ["repository_name", "sha1"], :name => "index_commits_on_repository_name_and_sha1", :unique => true
115 create_table "groups", :force => true do |t|
117 t.string "owner_uuid"
118 t.datetime "created_at", :null => false
119 t.string "modified_by_client_uuid"
120 t.string "modified_by_user_uuid"
121 t.datetime "modified_at"
124 t.datetime "updated_at", :null => false
125 t.string "group_class"
128 add_index "groups", ["created_at"], :name => "index_groups_on_created_at"
129 add_index "groups", ["group_class"], :name => "index_groups_on_group_class"
130 add_index "groups", ["modified_at"], :name => "index_groups_on_modified_at"
131 add_index "groups", ["uuid"], :name => "index_groups_on_uuid", :unique => true
133 create_table "humans", :force => true do |t|
134 t.string "uuid", :null => false
135 t.string "owner_uuid", :null => false
136 t.string "modified_by_client_uuid"
137 t.string "modified_by_user_uuid"
138 t.datetime "modified_at"
140 t.datetime "created_at", :null => false
141 t.datetime "updated_at", :null => false
144 add_index "humans", ["uuid"], :name => "index_humans_on_uuid", :unique => true
146 create_table "job_tasks", :force => true do |t|
148 t.string "owner_uuid"
149 t.string "modified_by_client_uuid"
150 t.string "modified_by_user_uuid"
151 t.datetime "modified_at"
158 t.datetime "created_at", :null => false
159 t.datetime "updated_at", :null => false
160 t.string "created_by_job_task_uuid"
161 t.integer "qsequence", :limit => 8
164 add_index "job_tasks", ["created_at"], :name => "index_job_tasks_on_created_at"
165 add_index "job_tasks", ["job_uuid"], :name => "index_job_tasks_on_job_uuid"
166 add_index "job_tasks", ["modified_at"], :name => "index_job_tasks_on_modified_at"
167 add_index "job_tasks", ["sequence"], :name => "index_job_tasks_on_sequence"
168 add_index "job_tasks", ["success"], :name => "index_job_tasks_on_success"
169 add_index "job_tasks", ["uuid"], :name => "index_job_tasks_on_uuid", :unique => true
171 create_table "jobs", :force => true do |t|
173 t.string "owner_uuid"
174 t.string "modified_by_client_uuid"
175 t.string "modified_by_user_uuid"
176 t.datetime "modified_at"
179 t.string "script_version"
180 t.text "script_parameters"
181 t.string "cancelled_by_client_uuid"
182 t.string "cancelled_by_user_uuid"
183 t.datetime "cancelled_at"
184 t.datetime "started_at"
185 t.datetime "finished_at"
189 t.datetime "created_at", :null => false
190 t.datetime "updated_at", :null => false
192 t.string "is_locked_by_uuid"
194 t.text "tasks_summary"
195 t.text "runtime_constraints"
196 t.boolean "nondeterministic"
197 t.string "repository"
198 t.boolean "output_is_persistent", :default => false, :null => false
201 add_index "jobs", ["created_at"], :name => "index_jobs_on_created_at"
202 add_index "jobs", ["finished_at"], :name => "index_jobs_on_finished_at"
203 add_index "jobs", ["modified_at"], :name => "index_jobs_on_modified_at"
204 add_index "jobs", ["output"], :name => "index_jobs_on_output"
205 add_index "jobs", ["script"], :name => "index_jobs_on_script"
206 add_index "jobs", ["started_at"], :name => "index_jobs_on_started_at"
207 add_index "jobs", ["submit_id"], :name => "index_jobs_on_submit_id", :unique => true
208 add_index "jobs", ["uuid"], :name => "index_jobs_on_uuid", :unique => true
210 create_table "keep_disks", :force => true do |t|
211 t.string "uuid", :null => false
212 t.string "owner_uuid", :null => false
213 t.string "modified_by_client_uuid"
214 t.string "modified_by_user_uuid"
215 t.datetime "modified_at"
216 t.string "ping_secret", :null => false
218 t.string "filesystem_uuid"
219 t.integer "bytes_total"
220 t.integer "bytes_free"
221 t.boolean "is_readable", :default => true, :null => false
222 t.boolean "is_writable", :default => true, :null => false
223 t.datetime "last_read_at"
224 t.datetime "last_write_at"
225 t.datetime "last_ping_at"
226 t.datetime "created_at", :null => false
227 t.datetime "updated_at", :null => false
228 t.string "keep_service_uuid"
231 add_index "keep_disks", ["filesystem_uuid"], :name => "index_keep_disks_on_filesystem_uuid"
232 add_index "keep_disks", ["last_ping_at"], :name => "index_keep_disks_on_last_ping_at"
233 add_index "keep_disks", ["node_uuid"], :name => "index_keep_disks_on_node_uuid"
234 add_index "keep_disks", ["uuid"], :name => "index_keep_disks_on_uuid", :unique => true
236 create_table "keep_services", :force => true do |t|
237 t.string "uuid", :null => false
238 t.string "owner_uuid", :null => false
239 t.string "modified_by_client_uuid"
240 t.string "modified_by_user_uuid"
241 t.datetime "modified_at"
242 t.string "service_host"
243 t.integer "service_port"
244 t.boolean "service_ssl_flag"
245 t.string "service_type"
246 t.datetime "created_at", :null => false
247 t.datetime "updated_at", :null => false
250 add_index "keep_services", ["uuid"], :name => "index_keep_services_on_uuid", :unique => true
252 create_table "links", :force => true do |t|
254 t.string "owner_uuid"
255 t.datetime "created_at", :null => false
256 t.string "modified_by_client_uuid"
257 t.string "modified_by_user_uuid"
258 t.datetime "modified_at"
260 t.string "link_class"
264 t.datetime "updated_at", :null => false
267 add_index "links", ["created_at"], :name => "index_links_on_created_at"
268 add_index "links", ["head_uuid"], :name => "index_links_on_head_uuid"
269 add_index "links", ["modified_at"], :name => "index_links_on_modified_at"
270 add_index "links", ["tail_uuid", "name"], :name => "links_tail_name_unique_if_link_class_name", :unique => true, :where => "((link_class)::text = 'name'::text)"
271 add_index "links", ["tail_uuid"], :name => "index_links_on_tail_uuid"
272 add_index "links", ["uuid"], :name => "index_links_on_uuid", :unique => true
274 create_table "logs", :force => true do |t|
276 t.string "owner_uuid"
277 t.string "modified_by_client_uuid"
278 t.string "modified_by_user_uuid"
279 t.string "object_uuid"
280 t.datetime "event_at"
281 t.string "event_type"
284 t.datetime "created_at", :null => false
285 t.datetime "updated_at", :null => false
286 t.datetime "modified_at"
287 t.string "object_owner_uuid"
290 add_index "logs", ["created_at"], :name => "index_logs_on_created_at"
291 add_index "logs", ["event_at"], :name => "index_logs_on_event_at"
292 add_index "logs", ["event_type"], :name => "index_logs_on_event_type"
293 add_index "logs", ["modified_at"], :name => "index_logs_on_modified_at"
294 add_index "logs", ["object_uuid"], :name => "index_logs_on_object_uuid"
295 add_index "logs", ["summary"], :name => "index_logs_on_summary"
296 add_index "logs", ["uuid"], :name => "index_logs_on_uuid", :unique => true
298 create_table "nodes", :force => true do |t|
300 t.string "owner_uuid"
301 t.datetime "created_at", :null => false
302 t.string "modified_by_client_uuid"
303 t.string "modified_by_user_uuid"
304 t.datetime "modified_at"
305 t.integer "slot_number"
308 t.string "ip_address"
309 t.datetime "first_ping_at"
310 t.datetime "last_ping_at"
312 t.datetime "updated_at", :null => false
315 add_index "nodes", ["created_at"], :name => "index_nodes_on_created_at"
316 add_index "nodes", ["hostname"], :name => "index_nodes_on_hostname"
317 add_index "nodes", ["modified_at"], :name => "index_nodes_on_modified_at"
318 add_index "nodes", ["slot_number"], :name => "index_nodes_on_slot_number", :unique => true
319 add_index "nodes", ["uuid"], :name => "index_nodes_on_uuid", :unique => true
321 create_table "pipeline_instances", :force => true do |t|
323 t.string "owner_uuid"
324 t.datetime "created_at", :null => false
325 t.string "modified_by_client_uuid"
326 t.string "modified_by_user_uuid"
327 t.datetime "modified_at"
328 t.string "pipeline_template_uuid"
332 t.boolean "active", :default => false
333 t.datetime "updated_at", :null => false
336 t.text "components_summary"
339 add_index "pipeline_instances", ["created_at"], :name => "index_pipeline_instances_on_created_at"
340 add_index "pipeline_instances", ["modified_at"], :name => "index_pipeline_instances_on_modified_at"
341 add_index "pipeline_instances", ["uuid"], :name => "index_pipeline_instances_on_uuid", :unique => true
343 create_table "pipeline_templates", :force => true do |t|
345 t.string "owner_uuid"
346 t.datetime "created_at", :null => false
347 t.string "modified_by_client_uuid"
348 t.string "modified_by_user_uuid"
349 t.datetime "modified_at"
352 t.datetime "updated_at", :null => false
356 add_index "pipeline_templates", ["created_at"], :name => "index_pipeline_templates_on_created_at"
357 add_index "pipeline_templates", ["modified_at"], :name => "index_pipeline_templates_on_modified_at"
358 add_index "pipeline_templates", ["uuid"], :name => "index_pipeline_templates_on_uuid", :unique => true
360 create_table "repositories", :force => true do |t|
361 t.string "uuid", :null => false
362 t.string "owner_uuid", :null => false
363 t.string "modified_by_client_uuid"
364 t.string "modified_by_user_uuid"
365 t.datetime "modified_at"
369 t.datetime "created_at", :null => false
370 t.datetime "updated_at", :null => false
373 add_index "repositories", ["name"], :name => "index_repositories_on_name", :unique => true
374 add_index "repositories", ["uuid"], :name => "index_repositories_on_uuid", :unique => true
376 create_table "specimens", :force => true do |t|
378 t.string "owner_uuid"
379 t.datetime "created_at", :null => false
380 t.string "modified_by_client_uuid"
381 t.string "modified_by_user_uuid"
382 t.datetime "modified_at"
384 t.datetime "updated_at", :null => false
388 add_index "specimens", ["created_at"], :name => "index_specimens_on_created_at"
389 add_index "specimens", ["modified_at"], :name => "index_specimens_on_modified_at"
390 add_index "specimens", ["uuid"], :name => "index_specimens_on_uuid", :unique => true
392 create_table "traits", :force => true do |t|
393 t.string "uuid", :null => false
394 t.string "owner_uuid", :null => false
395 t.string "modified_by_client_uuid"
396 t.string "modified_by_user_uuid"
397 t.datetime "modified_at"
400 t.datetime "created_at", :null => false
401 t.datetime "updated_at", :null => false
404 add_index "traits", ["name"], :name => "index_traits_on_name"
405 add_index "traits", ["uuid"], :name => "index_traits_on_uuid", :unique => true
407 create_table "users", :force => true do |t|
409 t.string "owner_uuid"
410 t.datetime "created_at", :null => false
411 t.string "modified_by_client_uuid"
412 t.string "modified_by_user_uuid"
413 t.datetime "modified_at"
415 t.string "first_name"
417 t.string "identity_url"
420 t.datetime "updated_at", :null => false
421 t.string "default_owner_uuid"
422 t.boolean "is_active", :default => false
425 add_index "users", ["created_at"], :name => "index_users_on_created_at"
426 add_index "users", ["modified_at"], :name => "index_users_on_modified_at"
427 add_index "users", ["uuid"], :name => "index_users_on_uuid", :unique => true
429 create_table "virtual_machines", :force => true do |t|
430 t.string "uuid", :null => false
431 t.string "owner_uuid", :null => false
432 t.string "modified_by_client_uuid"
433 t.string "modified_by_user_uuid"
434 t.datetime "modified_at"
436 t.datetime "created_at", :null => false
437 t.datetime "updated_at", :null => false
440 add_index "virtual_machines", ["hostname"], :name => "index_virtual_machines_on_hostname"
441 add_index "virtual_machines", ["uuid"], :name => "index_virtual_machines_on_uuid", :unique => true