# This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # # This file is the source Rails uses to define your schema when running `bin/rails # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to # be faster and is potentially less error prone than running all of your # migrations from scratch. Old migrations may fail to apply correctly if those # migrations use external dependencies or application code. # # It's strongly recommended that you check this file into your version control system. ActiveRecord::Schema[7.1].define(version: 2023_10_08_145328) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" create_table "courses", force: :cascade do |t| t.string "title" t.string "unit_code" t.integer "toggl_project" t.jsonb "panopto_folders" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.date "semester_start_date", default: "2023-10-02" end create_table "lectures", force: :cascade do |t| t.string "title", null: false t.datetime "start_time", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "course_id" t.string "event_uuid" t.boolean "cancelled", default: false t.integer "kind", default: 0 t.index ["course_id"], name: "index_lectures_on_course_id" end create_table "recordings", force: :cascade do |t| t.string "title", null: false t.datetime "start_time", null: false t.string "recording_uuid", null: false t.bigint "course_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "lecture_id" t.index ["course_id"], name: "index_recordings_on_course_id" t.index ["lecture_id"], name: "index_recordings_on_lecture_id" t.index ["recording_uuid"], name: "index_recordings_on_recording_uuid", unique: true end create_table "tracked_time_entries", force: :cascade do |t| t.integer "kind" t.jsonb "toggl_data" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "associated_toggl_entry_id", null: false t.string "subject_type", null: false t.bigint "subject_id", null: false t.index ["associated_toggl_entry_id"], name: "index_tracked_time_entries_on_associated_toggl_entry_id", unique: true t.index ["subject_type", "subject_id"], name: "index_tracked_time_entries_on_subject" end create_table "work_items", force: :cascade do |t| t.string "title", null: false t.bigint "course_id", null: false t.datetime "due_at", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.datetime "available_from" t.datetime "completed_at" t.index ["course_id"], name: "index_work_items_on_course_id" end add_foreign_key "recordings", "courses" add_foreign_key "work_items", "courses" end