Use a simple user_id for tables with one owning user
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 29 Nov 2017 16:23:13 +0000 (16:23 +0000)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 29 Nov 2017 16:23:13 +0000 (16:23 +0000)
This is the standard way of naming in rails, and it avoids having
to tell rails which models are actually required.

app/models/issue_comment.rb
app/models/report.rb
db/migrate/20160822153055_create_issues_and_reports.rb
db/structure.sql

index 7a51265f3d90715f72424aafa43d8d79558927eb..2968078b3d96da719791cc220370be358aeccae3 100644 (file)
@@ -2,27 +2,27 @@
 #
 # Table name: issue_comments
 #
-#  id                :integer          not null, primary key
-#  issue_id          :integer          not null
-#  commenter_user_id :integer          not null
-#  body              :text             not null
-#  created_at        :datetime         not null
-#  updated_at        :datetime         not null
+#  id         :integer          not null, primary key
+#  issue_id   :integer          not null
+#  user_id    :integer          not null
+#  body       :text             not null
+#  created_at :datetime         not null
+#  updated_at :datetime         not null
 #
 # Indexes
 #
-#  index_issue_comments_on_commenter_user_id  (commenter_user_id)
-#  index_issue_comments_on_issue_id           (issue_id)
+#  index_issue_comments_on_issue_id  (issue_id)
+#  index_issue_comments_on_user_id   (user_id)
 #
 # Foreign Keys
 #
-#  issue_comments_commenter_user_id  (commenter_user_id => users.id) ON DELETE => cascade
-#  issue_comments_issue_id_fkey      (issue_id => issues.id) ON DELETE => cascade
+#  issue_comments_issue_id_fkey  (issue_id => issues.id) ON DELETE => cascade
+#  issue_comments_user_id        (user_id => users.id) ON DELETE => cascade
 #
 
 class IssueComment < ActiveRecord::Base
   belongs_to :issue
-  belongs_to :user, :class_name => "User", :foreign_key => :commenter_user_id
+  belongs_to :user
 
   validates :body, :presence => true
   validates :user, :presence => true
index cc9605dea210e7e402db6a1b12600882aae6f8af..e32e09721848e75fd8053488c1ef02c635b855f6 100644 (file)
@@ -2,27 +2,27 @@
 #
 # Table name: reports
 #
-#  id               :integer          not null, primary key
-#  issue_id         :integer
-#  reporter_user_id :integer
-#  details          :text             not null
-#  created_at       :datetime         not null
-#  updated_at       :datetime         not null
+#  id         :integer          not null, primary key
+#  issue_id   :integer
+#  user_id    :integer
+#  details    :text             not null
+#  created_at :datetime         not null
+#  updated_at :datetime         not null
 #
 # Indexes
 #
-#  index_reports_on_issue_id          (issue_id)
-#  index_reports_on_reporter_user_id  (reporter_user_id)
+#  index_reports_on_issue_id  (issue_id)
+#  index_reports_on_user_id   (user_id)
 #
 # Foreign Keys
 #
-#  reports_issue_id_fkey          (issue_id => issues.id) ON DELETE => cascade
-#  reports_reporter_user_id_fkey  (reporter_user_id => users.id) ON DELETE => cascade
+#  reports_issue_id_fkey  (issue_id => issues.id) ON DELETE => cascade
+#  reports_user_id_fkey   (user_id => users.id) ON DELETE => cascade
 #
 
 class Report < ActiveRecord::Base
   belongs_to :issue, :counter_cache => true
-  belongs_to :user, :class_name => "User", :foreign_key => :reporter_user_id
+  belongs_to :user
 
   validates :details, :presence => true
 end
index a66b22d25394e100355dcffc7ecfcf561c7ae6b2..cdd3ea7c7b09bfa611b50b87c17aeea5bf3dd792 100644 (file)
@@ -22,28 +22,28 @@ class CreateIssuesAndReports < ActiveRecord::Migration[5.0]
 
     create_table :reports do |t|
       t.integer :issue_id
-      t.integer :reporter_user_id
+      t.integer :user_id
       t.text :details, :null => false
       t.timestamps :null => false
     end
 
     add_foreign_key :reports, :issues, :name => "reports_issue_id_fkey", :on_delete => :cascade
-    add_foreign_key :reports, :users, :column => :reporter_user_id, :name => "reports_reporter_user_id_fkey", :on_delete => :cascade
+    add_foreign_key :reports, :users, :column => :user_id, :name => "reports_user_id_fkey", :on_delete => :cascade
 
-    add_index :reports, :reporter_user_id
+    add_index :reports, :user_id
     add_index :reports, :issue_id
 
     create_table :issue_comments do |t|
       t.integer :issue_id, :null => false
-      t.integer :commenter_user_id, :null => false
+      t.integer :user_id, :null => false
       t.text :body, :null => false
       t.timestamps :null => false
     end
 
     add_foreign_key :issue_comments, :issues, :name => "issue_comments_issue_id_fkey", :on_delete => :cascade
-    add_foreign_key :issue_comments, :users, :column => :commenter_user_id, :name => "issue_comments_commenter_user_id", :on_delete => :cascade
+    add_foreign_key :issue_comments, :users, :column => :user_id, :name => "issue_comments_user_id", :on_delete => :cascade
 
-    add_index :issue_comments, :commenter_user_id
+    add_index :issue_comments, :user_id
     add_index :issue_comments, :issue_id
   end
 end
index a4a6ff6c728fbf1e0dd5bd50c05e33f04e9f7ecf..742791df544f70baafa75f6aeb4fcfe3318a98da 100644 (file)
@@ -692,7 +692,7 @@ ALTER SEQUENCE gpx_files_id_seq OWNED BY gpx_files.id;
 CREATE TABLE issue_comments (
     id integer NOT NULL,
     issue_id integer NOT NULL,
-    commenter_user_id integer NOT NULL,
+    user_id integer NOT NULL,
     body text NOT NULL,
     created_at timestamp without time zone NOT NULL,
     updated_at timestamp without time zone NOT NULL
@@ -1065,7 +1065,7 @@ CREATE TABLE relations (
 CREATE TABLE reports (
     id integer NOT NULL,
     issue_id integer,
-    reporter_user_id integer,
+    user_id integer,
     details text NOT NULL,
     created_at timestamp without time zone NOT NULL,
     updated_at timestamp without time zone NOT NULL
@@ -2031,17 +2031,17 @@ CREATE INDEX index_diary_entry_subscriptions_on_diary_entry_id ON diary_entry_su
 
 
 --
--- Name: index_issue_comments_on_commenter_user_id; Type: INDEX; Schema: public; Owner: -
+-- Name: index_issue_comments_on_issue_id; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX index_issue_comments_on_commenter_user_id ON issue_comments USING btree (commenter_user_id);
+CREATE INDEX index_issue_comments_on_issue_id ON issue_comments USING btree (issue_id);
 
 
 --
--- Name: index_issue_comments_on_issue_id; Type: INDEX; Schema: public; Owner: -
+-- Name: index_issue_comments_on_user_id; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX index_issue_comments_on_issue_id ON issue_comments USING btree (issue_id);
+CREATE INDEX index_issue_comments_on_user_id ON issue_comments USING btree (user_id);
 
 
 --
@@ -2108,10 +2108,10 @@ CREATE INDEX index_reports_on_issue_id ON reports USING btree (issue_id);
 
 
 --
--- Name: index_reports_on_reporter_user_id; Type: INDEX; Schema: public; Owner: -
+-- Name: index_reports_on_user_id; Type: INDEX; Schema: public; Owner: -
 --
 
-CREATE INDEX index_reports_on_reporter_user_id ON reports USING btree (reporter_user_id);
+CREATE INDEX index_reports_on_user_id ON reports USING btree (user_id);
 
 
 --
@@ -2527,19 +2527,19 @@ ALTER TABLE ONLY gpx_files
 
 
 --
--- Name: issue_comments_commenter_user_id; Type: FK CONSTRAINT; Schema: public; Owner: -
+-- Name: issue_comments_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY issue_comments
-    ADD CONSTRAINT issue_comments_commenter_user_id FOREIGN KEY (commenter_user_id) REFERENCES users(id) ON DELETE CASCADE;
+    ADD CONSTRAINT issue_comments_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE;
 
 
 --
--- Name: issue_comments_issue_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+-- Name: issue_comments_user_id; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY issue_comments
-    ADD CONSTRAINT issue_comments_issue_id_fkey FOREIGN KEY (issue_id) REFERENCES issues(id) ON DELETE CASCADE;
+    ADD CONSTRAINT issue_comments_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
 
 
 --
@@ -2679,11 +2679,11 @@ ALTER TABLE ONLY reports
 
 
 --
--- Name: reports_reporter_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+-- Name: reports_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
 --
 
 ALTER TABLE ONLY reports
-    ADD CONSTRAINT reports_reporter_user_id_fkey FOREIGN KEY (reporter_user_id) REFERENCES users(id) ON DELETE CASCADE;
+    ADD CONSTRAINT reports_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
 
 
 --