From 38f48d17362f931be2779c68eb16aad8c0aa4012 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Fri, 29 Sep 2023 18:18:03 +0100 Subject: [PATCH] Create course model --- app/models/course.rb | 2 ++ db/migrate/20230929171730_create_courses.rb | 12 +++++++ db/schema.rb | 35 +++++++++++++++++++++ test/fixtures/courses.yml | 13 ++++++++ test/models/course_test.rb | 7 +++++ 5 files changed, 69 insertions(+) create mode 100644 app/models/course.rb create mode 100644 db/migrate/20230929171730_create_courses.rb create mode 100644 db/schema.rb create mode 100644 test/fixtures/courses.yml create mode 100644 test/models/course_test.rb diff --git a/app/models/course.rb b/app/models/course.rb new file mode 100644 index 0000000..25e8ed7 --- /dev/null +++ b/app/models/course.rb @@ -0,0 +1,2 @@ +class Course < ApplicationRecord +end diff --git a/db/migrate/20230929171730_create_courses.rb b/db/migrate/20230929171730_create_courses.rb new file mode 100644 index 0000000..0d1882e --- /dev/null +++ b/db/migrate/20230929171730_create_courses.rb @@ -0,0 +1,12 @@ +class CreateCourses < ActiveRecord::Migration[7.0] + def change + create_table :courses do |t| + t.string :title + t.string :unit_code + t.integer :toggl_project + t.jsonb :panopto_folders + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 0000000..c204c51 --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,35 @@ +# 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.0].define(version: 2023_09_29_171730) 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 + end + + create_table "lectures", force: :cascade do |t| + t.string "title", null: false + t.datetime "start_time", null: false + t.integer "status", null: false + t.string "recording_id", null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + +end diff --git a/test/fixtures/courses.yml b/test/fixtures/courses.yml new file mode 100644 index 0000000..5e94c8a --- /dev/null +++ b/test/fixtures/courses.yml @@ -0,0 +1,13 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + title: MyString + unit_code: MyString + toggl_project: 1 + panopto_folders: + +two: + title: MyString + unit_code: MyString + toggl_project: 1 + panopto_folders: diff --git a/test/models/course_test.rb b/test/models/course_test.rb new file mode 100644 index 0000000..724dabe --- /dev/null +++ b/test/models/course_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class CourseTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end