diff --git a/app/controllers/memos_controller.rb b/app/controllers/memos_controller.rb index 3af68d5d3..03ecd8235 100644 --- a/app/controllers/memos_controller.rb +++ b/app/controllers/memos_controller.rb @@ -57,6 +57,7 @@ class MemosController < ApplicationController pre_count = REPLIES_PER_PAGE @memo = @memo.root # 取出楼主,防止输入帖子id让回复作为主贴显示 + @memo.update_attribute(:viewed_count, @memo.viewed_count.to_i + 1) page = params[:page] @reply_count = @memo.children.count diff --git a/db/migrate/20131215065910_add_viewed_count_to_memos.rb b/db/migrate/20131215065910_add_viewed_count_to_memos.rb new file mode 100644 index 000000000..fd7e53ad3 --- /dev/null +++ b/db/migrate/20131215065910_add_viewed_count_to_memos.rb @@ -0,0 +1,5 @@ +class AddViewedCountToMemos < ActiveRecord::Migration + def change + add_column :memos, :viewed_count, :int, default: 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index 7dba6c7e0..7690b922f 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,15 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20131122132942) do - - create_table "a_user_watchers", :force => true do |t| - t.string "name" - t.text "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "member_id" - end +ActiveRecord::Schema.define(:version => 20131215065910) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -302,9 +294,9 @@ ActiveRecord::Schema.define(:version => 20131122132942) do add_index "issue_categories", ["project_id"], :name => "issue_categories_project_id" create_table "issue_relations", :force => true do |t| - t.integer "issue_from_id", :null => false - t.integer "issue_to_id", :null => false - t.string "relation_type", :null => false + t.integer "issue_from_id", :null => false + t.integer "issue_to_id", :null => false + t.string "relation_type", :default => "", :null => false t.integer "delay" end @@ -445,6 +437,7 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.boolean "sticky", :default => false t.datetime "created_at", :null => false t.datetime "updated_at", :null => false + t.integer "viewed_count", :default => 0 end create_table "messages", :force => true do |t| @@ -467,22 +460,6 @@ ActiveRecord::Schema.define(:version => 20131122132942) do add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id" add_index "messages", ["parent_id"], :name => "messages_parent_id" - create_table "messages_for_bids", :force => true do |t| - t.string "message" - t.integer "user_id" - t.integer "bid_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - - create_table "messages_for_users", :force => true do |t| - t.integer "messager_id" - t.integer "user_id" - t.string "message" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - create_table "news", :force => true do |t| t.integer "project_id" t.string "title", :limit => 60, :default => "", :null => false @@ -542,22 +519,11 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.integer "watchers_count" t.integer "project_id" t.integer "project_type" - t.integer "gitlab_group_id", :limit => 8 - t.float "grade", :default => 0.0 - t.integer "course_ac_para", :default => 0 + t.float "grade", :default => 0.0 + t.integer "course_ac_para", :default => 0 end - add_index "project_statuses", ["changesets_count"], :name => "index_project_statuses_on_changesets_count" - add_index "project_statuses", ["watchers_count"], :name => "index_project_statuses_on_watchers_count" - - create_table "project_tags", :force => true do |t| - t.integer "project_id" - t.integer "tag_id" - t.string "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "user_id" - end + add_index "project_statuses", ["grade"], :name => "index_project_statuses_on_grade" create_table "projects", :force => true do |t| t.string "name", :default => "", :null => false @@ -576,6 +542,9 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.boolean "hidden_repo", :default => false, :null => false end + add_index "projects", ["lft"], :name => "index_projects_on_lft" + add_index "projects", ["rgt"], :name => "index_projects_on_rgt" + create_table "projects_trackers", :id => false, :force => true do |t| t.integer "project_id", :default => 0, :null => false t.integer "tracker_id", :default => 0, :null => false @@ -600,18 +569,17 @@ ActiveRecord::Schema.define(:version => 20131122132942) do add_index "queries", ["user_id"], :name => "index_queries_on_user_id" create_table "repositories", :force => true do |t| - t.integer "project_id", :default => 0, :null => false - t.string "url", :default => "", :null => false - t.string "login", :limit => 60, :default => "" - t.string "password", :default => "" - t.string "root_url", :default => "" + t.integer "project_id", :default => 0, :null => false + t.string "url", :default => "", :null => false + t.string "login", :limit => 60, :default => "" + t.string "password", :default => "" + t.string "root_url", :default => "" t.string "type" - t.string "path_encoding", :limit => 64 - t.string "log_encoding", :limit => 64 + t.string "path_encoding", :limit => 64 + t.string "log_encoding", :limit => 64 t.text "extra_info" t.string "identifier" - t.boolean "is_default", :default => false - t.string "git_project_id" + t.boolean "is_default", :default => false end add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id" @@ -625,6 +593,26 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.string "issues_visibility", :limit => 30, :default => "default", :null => false end + create_table "seems_rateable_cached_ratings", :force => true do |t| + t.integer "cacheable_id", :limit => 8 + t.string "cacheable_type" + t.float "avg", :null => false + t.integer "cnt", :null => false + t.string "dimension" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "seems_rateable_rates", :force => true do |t| + t.integer "rater_id", :limit => 8 + t.integer "rateable_id" + t.string "rateable_type" + t.float "stars", :null => false + t.string "dimension" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "settings", :force => true do |t| t.string "name", :default => "", :null => false t.text "value" @@ -635,9 +623,9 @@ ActiveRecord::Schema.define(:version => 20131122132942) do create_table "shares", :force => true do |t| t.date "created_on" - t.string "title" - t.string "share_type" t.string "url" + t.string "title" + t.integer "share_type" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false t.integer "project_id" @@ -645,12 +633,6 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.string "description" end - create_table "students", :force => true do |t| - t.string "name" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - create_table "students_for_courses", :force => true do |t| t.integer "student_id" t.integer "course_id" @@ -709,7 +691,7 @@ ActiveRecord::Schema.define(:version => 20131122132942) do create_table "tokens", :force => true do |t| t.integer "user_id", :default => 0, :null => false t.string "action", :limit => 30, :default => "", :null => false - t.string "value", :limit => 40 + t.string "value", :limit => 40, :default => "", :null => false t.datetime "created_on", :null => false end @@ -735,13 +717,12 @@ ActiveRecord::Schema.define(:version => 20131122132942) do t.integer "zip_code" t.datetime "created_at", :null => false t.datetime "updated_at", :null => false - t.integer "identity" t.string "technical_title" + t.integer "identity" t.string "student_id" t.string "teacher_realname" t.string "student_realname" t.string "location_city" - t.string "git_token" end create_table "user_grades", :force => true do |t| @@ -778,14 +759,6 @@ ActiveRecord::Schema.define(:version => 20131122132942) do add_index "user_statuses", ["grade"], :name => "index_user_statuses_on_grade" add_index "user_statuses", ["watchers_count"], :name => "index_user_statuses_on_watchers_count" - create_table "user_tags", :force => true do |t| - t.integer "user_id" - t.integer "tag_id" - t.string "description" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - end - create_table "users", :force => true do |t| t.string "login", :default => "", :null => false t.string "hashed_password", :limit => 40, :default => "", :null => false