diff --git a/app/models/article.rb b/app/models/article.rb index 7980502..7d35cf1 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -636,14 +636,8 @@ class Article < ActiveRecord::Base author_id = self.created_by_id end - begin - @author = Person.find(author_id) if !@author || @author.id != author_id - rescue - @author = nil - end - - @author - end + environment.people.find_by_id(author_id) + end def author_name(version_number = nil) person = author(version_number) diff --git a/db/migrate/20140415125414_add_created_by_to_article.rb b/db/migrate/20140415125414_add_created_by_to_article.rb new file mode 100644 index 0000000..2c57775 --- /dev/null +++ b/db/migrate/20140415125414_add_created_by_to_article.rb @@ -0,0 +1,17 @@ +class AddCreatedByToArticle < ActiveRecord::Migration + def self.up + add_column :articles, :created_by_id, :integer + add_column :article_versions, :created_by_id, :integer + + execute("UPDATE article_versions SET created_by_id = last_changed_by_id") + + execute("UPDATE articles SET created_by_id = article_versions.created_by_id +FROM article_versions WHERE article_versions.article_id = articles.id AND +article_versions.version = 1") + end + + def self.down + remove_column :articles, :created_by_id + remove_column :article_versions, :created_by_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 98d6ffb..1046268 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20140408172149) do +ActiveRecord::Schema.define(:version => 20140415125414) do create_table "abuse_reports", :force => true do |t| t.integer "reporter_id" @@ -95,6 +95,7 @@ ActiveRecord::Schema.define(:version => 20140408172149) do t.integer "license_id" t.integer "image_id" t.integer "position" + t.integer "created_by_id" end add_index "article_versions", ["article_id"], :name => "index_article_versions_on_article_id" @@ -140,6 +141,7 @@ ActiveRecord::Schema.define(:version => 20140408172149) do t.integer "license_id" t.integer "image_id" t.integer "position" + t.integer "created_by_id" end add_index "articles", ["comments_count"], :name => "index_articles_on_comments_count" -- libgit2 0.21.2