Managing loaner chromebooks for students and teachers in the HUUSD school district.
at main 285 lines 12 kB view raw
1# This file is auto-generated from the current state of the database. Instead 2# of editing this file, please use the migrations feature of Active Record to 3# incrementally modify your database, and then regenerate this schema definition. 4# 5# This file is the source Rails uses to define your schema when running `bin/rails 6# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to 7# be faster and is potentially less error prone than running all of your 8# migrations from scratch. Old migrations may fail to apply correctly if those 9# migrations use external dependencies or application code. 10# 11# It's strongly recommended that you check this file into your version control system. 12 13ActiveRecord::Schema[7.1].define(version: 2024_08_05_191855) do 14 create_table "active_storage_attachments", force: :cascade do |t| 15 t.string "name", null: false 16 t.string "record_type", null: false 17 t.bigint "record_id", null: false 18 t.bigint "blob_id", null: false 19 t.datetime "created_at", null: false 20 t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" 21 t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true 22 end 23 24 create_table "active_storage_blobs", force: :cascade do |t| 25 t.string "key", null: false 26 t.string "filename", null: false 27 t.string "content_type" 28 t.text "metadata" 29 t.string "service_name", null: false 30 t.bigint "byte_size", null: false 31 t.string "checksum" 32 t.datetime "created_at", null: false 33 t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true 34 end 35 36 create_table "active_storage_variant_records", force: :cascade do |t| 37 t.bigint "blob_id", null: false 38 t.string "variation_digest", null: false 39 t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true 40 end 41 42 create_table "ahoy_clicks", force: :cascade do |t| 43 t.string "campaign" 44 t.string "token" 45 t.index ["campaign"], name: "index_ahoy_clicks_on_campaign" 46 end 47 48 create_table "ahoy_messages", force: :cascade do |t| 49 t.string "user_type" 50 t.integer "user_id" 51 t.string "to" 52 t.string "mailer" 53 t.text "subject" 54 t.datetime "sent_at" 55 t.string "campaign" 56 t.index ["campaign"], name: "index_ahoy_messages_on_campaign" 57 t.index ["to"], name: "index_ahoy_messages_on_to" 58 t.index ["user_type", "user_id"], name: "index_ahoy_messages_on_user" 59 end 60 61 create_table "audits1984_audits", force: :cascade do |t| 62 t.integer "status", default: 0, null: false 63 t.text "notes" 64 t.integer "session_id", null: false 65 t.integer "auditor_id", null: false 66 t.datetime "created_at", null: false 67 t.datetime "updated_at", null: false 68 t.index ["auditor_id"], name: "index_audits1984_audits_on_auditor_id" 69 t.index ["session_id"], name: "index_audits1984_audits_on_session_id" 70 end 71 72 create_table "authentications", force: :cascade do |t| 73 t.datetime "created_at", null: false 74 t.datetime "updated_at", null: false 75 end 76 77 create_table "borrowers", force: :cascade do |t| 78 t.string "first_name" 79 t.string "last_name" 80 t.string "email" 81 t.integer "graduation_year" 82 t.datetime "created_at", null: false 83 t.datetime "updated_at", null: false 84 t.boolean "flagged" 85 end 86 87 create_table "console1984_commands", force: :cascade do |t| 88 t.text "statements" 89 t.integer "sensitive_access_id" 90 t.integer "session_id", null: false 91 t.datetime "created_at", null: false 92 t.datetime "updated_at", null: false 93 t.index ["sensitive_access_id"], name: "index_console1984_commands_on_sensitive_access_id" 94 t.index ["session_id", "created_at", "sensitive_access_id"], name: "on_session_and_sensitive_chronologically" 95 end 96 97 create_table "console1984_sensitive_accesses", force: :cascade do |t| 98 t.text "justification" 99 t.integer "session_id", null: false 100 t.datetime "created_at", null: false 101 t.datetime "updated_at", null: false 102 t.index ["session_id"], name: "index_console1984_sensitive_accesses_on_session_id" 103 end 104 105 create_table "console1984_sessions", force: :cascade do |t| 106 t.text "reason" 107 t.integer "user_id", null: false 108 t.datetime "created_at", null: false 109 t.datetime "updated_at", null: false 110 t.index ["created_at"], name: "index_console1984_sessions_on_created_at" 111 t.index ["user_id", "created_at"], name: "index_console1984_sessions_on_user_id_and_created_at" 112 end 113 114 create_table "console1984_users", force: :cascade do |t| 115 t.string "username", null: false 116 t.datetime "created_at", null: false 117 t.datetime "updated_at", null: false 118 t.index ["username"], name: "index_console1984_users_on_username" 119 end 120 121 create_table "loaners", force: :cascade do |t| 122 t.string "asset_tag" 123 t.integer "loaner_id" 124 t.string "serial_number" 125 t.string "status" 126 t.datetime "created_at", null: false 127 t.datetime "updated_at", null: false 128 t.integer "current_loan_id" 129 t.integer "freindly_id" 130 t.boolean "active" 131 t.index ["asset_tag"], name: "index_loaners_on_asset_tag" 132 t.index ["current_loan_id"], name: "index_loaners_on_current_loan_id" 133 t.index ["loaner_id"], name: "index_loaners_on_loaner_id" 134 t.index ["status"], name: "index_loaners_on_status" 135 end 136 137 create_table "loaners_borrowers", id: false, force: :cascade do |t| 138 t.integer "loaner_id" 139 t.integer "borrower_id" 140 t.index ["borrower_id"], name: "index_loaners_borrowers_on_borrower_id" 141 t.index ["loaner_id", "borrower_id"], name: "index_loaners_borrowers_on_loaner_id_and_borrower_id", unique: true 142 t.index ["loaner_id"], name: "index_loaners_borrowers_on_loaner_id" 143 end 144 145 create_table "loans", force: :cascade do |t| 146 t.integer "reason", limit: 3 147 t.integer "borrower_id", null: false 148 t.datetime "loaned_at" 149 t.datetime "returned_at" 150 t.string "status" 151 t.datetime "created_at", null: false 152 t.datetime "updated_at", null: false 153 t.integer "loaner_id" 154 t.date "due_date" 155 t.boolean "borrowed_device_repaired" 156 t.index ["borrower_id"], name: "index_loans_on_borrower_id" 157 t.index ["loaner_id"], name: "index_loans_on_loaner_id" 158 t.index ["status"], name: "index_loans_on_status" 159 end 160 161 create_table "solid_queue_blocked_executions", force: :cascade do |t| 162 t.integer "job_id", null: false 163 t.string "queue_name", null: false 164 t.integer "priority", default: 0, null: false 165 t.string "concurrency_key", null: false 166 t.datetime "expires_at", null: false 167 t.datetime "created_at", null: false 168 t.index ["concurrency_key", "priority", "job_id"], name: "index_solid_queue_blocked_executions_for_release" 169 t.index ["expires_at", "concurrency_key"], name: "index_solid_queue_blocked_executions_for_maintenance" 170 t.index ["job_id"], name: "index_solid_queue_blocked_executions_on_job_id", unique: true 171 end 172 173 create_table "solid_queue_claimed_executions", force: :cascade do |t| 174 t.integer "job_id", null: false 175 t.bigint "process_id" 176 t.datetime "created_at", null: false 177 t.index ["job_id"], name: "index_solid_queue_claimed_executions_on_job_id", unique: true 178 t.index ["process_id", "job_id"], name: "index_solid_queue_claimed_executions_on_process_id_and_job_id" 179 end 180 181 create_table "solid_queue_failed_executions", force: :cascade do |t| 182 t.integer "job_id", null: false 183 t.text "error" 184 t.datetime "created_at", null: false 185 t.index ["job_id"], name: "index_solid_queue_failed_executions_on_job_id", unique: true 186 end 187 188 create_table "solid_queue_jobs", force: :cascade do |t| 189 t.string "queue_name", null: false 190 t.string "class_name", null: false 191 t.text "arguments" 192 t.integer "priority", default: 0, null: false 193 t.string "active_job_id" 194 t.datetime "scheduled_at" 195 t.datetime "finished_at" 196 t.string "concurrency_key" 197 t.datetime "created_at", null: false 198 t.datetime "updated_at", null: false 199 t.index ["active_job_id"], name: "index_solid_queue_jobs_on_active_job_id" 200 t.index ["class_name"], name: "index_solid_queue_jobs_on_class_name" 201 t.index ["finished_at"], name: "index_solid_queue_jobs_on_finished_at" 202 t.index ["queue_name", "finished_at"], name: "index_solid_queue_jobs_for_filtering" 203 t.index ["scheduled_at", "finished_at"], name: "index_solid_queue_jobs_for_alerting" 204 end 205 206 create_table "solid_queue_pauses", force: :cascade do |t| 207 t.string "queue_name", null: false 208 t.datetime "created_at", null: false 209 t.index ["queue_name"], name: "index_solid_queue_pauses_on_queue_name", unique: true 210 end 211 212 create_table "solid_queue_processes", force: :cascade do |t| 213 t.string "kind", null: false 214 t.datetime "last_heartbeat_at", null: false 215 t.bigint "supervisor_id" 216 t.integer "pid", null: false 217 t.string "hostname" 218 t.text "metadata" 219 t.datetime "created_at", null: false 220 t.index ["last_heartbeat_at"], name: "index_solid_queue_processes_on_last_heartbeat_at" 221 t.index ["supervisor_id"], name: "index_solid_queue_processes_on_supervisor_id" 222 end 223 224 create_table "solid_queue_ready_executions", force: :cascade do |t| 225 t.integer "job_id", null: false 226 t.string "queue_name", null: false 227 t.integer "priority", default: 0, null: false 228 t.datetime "created_at", null: false 229 t.index ["job_id"], name: "index_solid_queue_ready_executions_on_job_id", unique: true 230 t.index ["priority", "job_id"], name: "index_solid_queue_poll_all" 231 t.index ["queue_name", "priority", "job_id"], name: "index_solid_queue_poll_by_queue" 232 end 233 234 create_table "solid_queue_recurring_executions", force: :cascade do |t| 235 t.integer "job_id", null: false 236 t.string "task_key", null: false 237 t.datetime "run_at", null: false 238 t.datetime "created_at", null: false 239 t.index ["job_id"], name: "index_solid_queue_recurring_executions_on_job_id", unique: true 240 t.index ["task_key", "run_at"], name: "index_solid_queue_recurring_executions_on_task_key_and_run_at", unique: true 241 end 242 243 create_table "solid_queue_scheduled_executions", force: :cascade do |t| 244 t.integer "job_id", null: false 245 t.string "queue_name", null: false 246 t.integer "priority", default: 0, null: false 247 t.datetime "scheduled_at", null: false 248 t.datetime "created_at", null: false 249 t.index ["job_id"], name: "index_solid_queue_scheduled_executions_on_job_id", unique: true 250 t.index ["scheduled_at", "priority", "job_id"], name: "index_solid_queue_dispatch_all" 251 end 252 253 create_table "solid_queue_semaphores", force: :cascade do |t| 254 t.string "key", null: false 255 t.integer "value", default: 1, null: false 256 t.datetime "expires_at", null: false 257 t.datetime "created_at", null: false 258 t.datetime "updated_at", null: false 259 t.index ["expires_at"], name: "index_solid_queue_semaphores_on_expires_at" 260 t.index ["key", "value"], name: "index_solid_queue_semaphores_on_key_and_value" 261 t.index ["key"], name: "index_solid_queue_semaphores_on_key", unique: true 262 end 263 264 create_table "users", force: :cascade do |t| 265 t.string "f_name" 266 t.string "l_name" 267 t.string "email" 268 t.string "password_digest" 269 t.integer "role", limit: 3, default: 0, null: false 270 t.datetime "created_at", null: false 271 t.datetime "updated_at", null: false 272 end 273 274 add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" 275 add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" 276 add_foreign_key "loaners", "loans", column: "current_loan_id" 277 add_foreign_key "loans", "borrowers" 278 add_foreign_key "loans", "loaners" 279 add_foreign_key "solid_queue_blocked_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 280 add_foreign_key "solid_queue_claimed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 281 add_foreign_key "solid_queue_failed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 282 add_foreign_key "solid_queue_ready_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 283 add_foreign_key "solid_queue_recurring_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 284 add_foreign_key "solid_queue_scheduled_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade 285end