Ensure reports have an issue id and a user id
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 14 Mar 2018 07:24:16 +0000 (15:24 +0800)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 14 Mar 2018 07:36:46 +0000 (15:36 +0800)
app/models/report.rb
db/migrate/20160822153055_create_issues_and_reports.rb
db/structure.sql

index 3507d69..816b8a4 100644 (file)
@@ -25,6 +25,8 @@ class Report < ActiveRecord::Base
   belongs_to :issue, :counter_cache => true
   belongs_to :user
 
+  validates :issue, :presence => true
+  validates :user, :presence => true
   validates :details, :presence => true
   validates :category, :presence => true
 
index ce2374c..cd0dc7a 100644 (file)
@@ -21,8 +21,8 @@ class CreateIssuesAndReports < ActiveRecord::Migration[5.0]
     add_index :issues, :updated_by
 
     create_table :reports do |t|
-      t.integer :issue_id
-      t.integer :user_id
+      t.integer :issue_id, :null => false
+      t.integer :user_id, :null => false
       t.text :details, :null => false
       t.string :category, :null => false
       t.timestamps :null => false
index eac2aca..e41b083 100644 (file)
@@ -1064,8 +1064,8 @@ CREATE TABLE relations (
 
 CREATE TABLE reports (
     id integer NOT NULL,
-    issue_id integer,
-    user_id integer,
+    issue_id integer NOT NULL,
+    user_id integer NOT NULL,
     details text NOT NULL,
     category character varying NOT NULL,
     created_at timestamp without time zone NOT NULL,