From: Andy Allan Date: Wed, 29 Nov 2017 16:23:13 +0000 (+0000) Subject: Use a simple user_id for tables with one owning user X-Git-Tag: live~2953^2~84 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/1956ab59130096c19a4f041290b1e933258fb025 Use a simple user_id for tables with one owning user This is the standard way of naming in rails, and it avoids having to tell rails which models are actually required. --- diff --git a/app/models/issue_comment.rb b/app/models/issue_comment.rb index 7a51265f3..2968078b3 100644 --- a/app/models/issue_comment.rb +++ b/app/models/issue_comment.rb @@ -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 diff --git a/app/models/report.rb b/app/models/report.rb index cc9605dea..e32e09721 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -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 diff --git a/db/migrate/20160822153055_create_issues_and_reports.rb b/db/migrate/20160822153055_create_issues_and_reports.rb index a66b22d25..cdd3ea7c7 100644 --- a/db/migrate/20160822153055_create_issues_and_reports.rb +++ b/db/migrate/20160822153055_create_issues_and_reports.rb @@ -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 diff --git a/db/structure.sql b/db/structure.sql index a4a6ff6c7..742791df5 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -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; --