Merge branch 'fix-diff-note-discussion-id' into 'master'
Call `set_discussion_id` again in DiffNote `before_validation` because the order is important See merge request !5913
This commit is contained in:
commit
0d62f283d6
|
@ -16,6 +16,9 @@ class DiffNote < Note
|
||||||
after_initialize :ensure_original_discussion_id
|
after_initialize :ensure_original_discussion_id
|
||||||
before_validation :set_original_position, :update_position, on: :create
|
before_validation :set_original_position, :update_position, on: :create
|
||||||
before_validation :set_line_code, :set_original_discussion_id
|
before_validation :set_line_code, :set_original_discussion_id
|
||||||
|
# We need to do this again, because it's already in `Note`, but is affected by
|
||||||
|
# `update_position` and needs to run after that.
|
||||||
|
before_validation :set_discussion_id
|
||||||
after_save :keep_around_commits
|
after_save :keep_around_commits
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||||
|
# for more information on how to write migrations for GitLab.
|
||||||
|
|
||||||
|
class AddIndexToNoteDiscussionId < ActiveRecord::Migration
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def change
|
||||||
|
add_concurrent_index :notes, :discussion_id
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,12 @@
|
||||||
|
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||||
|
# for more information on how to write migrations for GitLab.
|
||||||
|
|
||||||
|
class ResetDiffNoteDiscussionIdBecauseItWasCalculatedWrongly < ActiveRecord::Migration
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
def up
|
||||||
|
execute "UPDATE notes SET discussion_id = NULL WHERE discussion_id IS NOT NULL AND type = 'DiffNote'"
|
||||||
|
end
|
||||||
|
end
|
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20160818205718) do
|
ActiveRecord::Schema.define(version: 20160819221833) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
@ -702,6 +702,7 @@ ActiveRecord::Schema.define(version: 20160818205718) do
|
||||||
add_index "notes", ["author_id"], name: "index_notes_on_author_id", using: :btree
|
add_index "notes", ["author_id"], name: "index_notes_on_author_id", using: :btree
|
||||||
add_index "notes", ["commit_id"], name: "index_notes_on_commit_id", using: :btree
|
add_index "notes", ["commit_id"], name: "index_notes_on_commit_id", using: :btree
|
||||||
add_index "notes", ["created_at"], name: "index_notes_on_created_at", using: :btree
|
add_index "notes", ["created_at"], name: "index_notes_on_created_at", using: :btree
|
||||||
|
add_index "notes", ["discussion_id"], name: "index_notes_on_discussion_id", using: :btree
|
||||||
add_index "notes", ["line_code"], name: "index_notes_on_line_code", using: :btree
|
add_index "notes", ["line_code"], name: "index_notes_on_line_code", using: :btree
|
||||||
add_index "notes", ["note"], name: "index_notes_on_note_trigram", using: :gin, opclasses: {"note"=>"gin_trgm_ops"}
|
add_index "notes", ["note"], name: "index_notes_on_note_trigram", using: :gin, opclasses: {"note"=>"gin_trgm_ops"}
|
||||||
add_index "notes", ["noteable_id", "noteable_type"], name: "index_notes_on_noteable_id_and_noteable_type", using: :btree
|
add_index "notes", ["noteable_id", "noteable_type"], name: "index_notes_on_noteable_id_and_noteable_type", using: :btree
|
||||||
|
|
Loading…
Reference in New Issue