From b3d44cd4b04543b153aa501b947b7e797cfcfbd0 Mon Sep 17 00:00:00 2001 From: Lou Date: Wed, 12 May 2021 00:04:34 +0200 Subject: [PATCH] Init Record model --- app/models/activity.rb | 3 +-- app/models/record.rb | 4 ++++ app/models/user.rb | 5 ++--- db/migrate/20210511212634_create_records.rb | 13 +++++++++++++ db/schema.rb | 15 ++++++++++++++- erd.pdf | Bin 30224 -> 30224 bytes test/fixtures/records.yml | 13 +++++++++++++ test/models/record_test.rb | 7 +++++++ 8 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 app/models/record.rb create mode 100644 db/migrate/20210511212634_create_records.rb create mode 100644 test/fixtures/records.yml create mode 100644 test/models/record_test.rb diff --git a/app/models/activity.rb b/app/models/activity.rb index 748cfd6..25e7efe 100644 --- a/app/models/activity.rb +++ b/app/models/activity.rb @@ -1,10 +1,9 @@ class Activity < ApplicationRecord belongs_to :author, class_name: "User" - has_one :joined_user_activity has_one :user, :through => :joined_user_activity - has_many :tasks + has_many :records validates :name, presence: true validates :author, presence: true diff --git a/app/models/record.rb b/app/models/record.rb new file mode 100644 index 0000000..2855a58 --- /dev/null +++ b/app/models/record.rb @@ -0,0 +1,4 @@ +class Record < ApplicationRecord + belongs_to :user + belongs_to :task +end diff --git a/app/models/user.rb b/app/models/user.rb index 859eaf9..7917b9c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,11 +5,10 @@ class User < ApplicationRecord validates :password_digest, presence: true has_many :created_activities, foreign_key: 'author_id', class_name: 'Activity', dependent: :destroy - has_many :joined_user_activities has_many :activities, :through => :joined_user_activities - has_many :tasks - + has_many :records + has_secure_password end diff --git a/db/migrate/20210511212634_create_records.rb b/db/migrate/20210511212634_create_records.rb new file mode 100644 index 0000000..7f3cf48 --- /dev/null +++ b/db/migrate/20210511212634_create_records.rb @@ -0,0 +1,13 @@ +class CreateRecords < ActiveRecord::Migration[6.1] + def change + create_table :records do |t| + t.integer :duration, null: false + t.boolean :is_handled, default: false + t.references :handled_by, default: :null + t.references :user, null: false + t.references :task, null: false + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index efde6b5..9689f6c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_05_10_133939) do +ActiveRecord::Schema.define(version: 2021_05_11_212634) do create_table "activities", force: :cascade do |t| t.string "name", null: false @@ -32,6 +32,19 @@ ActiveRecord::Schema.define(version: 2021_05_10_133939) do t.index ["user_id"], name: "index_joined_user_activities_on_user_id" end + create_table "records", force: :cascade do |t| + t.integer "duration", null: false + t.boolean "is_handled", default: false + t.integer "handled_by_id" + t.integer "user_id", null: false + t.integer "task_id", null: false + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["handled_by_id"], name: "index_records_on_handled_by_id" + t.index ["task_id"], name: "index_records_on_task_id" + t.index ["user_id"], name: "index_records_on_user_id" + end + create_table "tasks", force: :cascade do |t| t.string "name", null: false t.text "description" diff --git a/erd.pdf b/erd.pdf index 27683c4d0443fef64b5c7b02c57c1a89ac143728..a54a25194b4b9df465542cfebe90526f9666f02e 100644 GIT binary patch delta 21 dcmbR6hH=6h#tl~r*^G=#EKDpm-zqd?0RU%32x