diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2019-03-15 14:35:10 -0300 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2019-03-26 16:06:26 -0300 |
commit | 1db3926dd2a5de719859ea962d4e1360b375d87b (patch) | |
tree | 230c30d0012881d03a2eee0b7798f6cd4f96c7a0 /db | |
parent | b0a873aae627accd604fbc50db9d2c89f6b87dbe (diff) | |
download | gitlab-ce-1db3926dd2a5de719859ea962d4e1360b375d87b.tar.gz |
Add multi-line suggestion migrations
Adds outdated, lines_above and lines_below columns to
suggestions table.
outdated - boolean which represents whether the suggestion
is outdated or not. For instance, if any line changed after
you left the multi-line suggestion, even though the note
is not outdated, it helps tracking if the content has changed
in the latest file. We cache this information in a column given
it's not a cheap operation to do for every suggestion in the
request time.
lines_below, lines_above - persists the parsed arguments from
`suggestion:-10+3` syntax, where `10` would be lines_above and
3 lines_below. We need that to dynamically calculate which
lines we should monitor for outdating / persisting the correct
content in from_content column.
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20190228192410_add_multi_line_attributes_to_suggestion.rb | 19 | ||||
-rw-r--r-- | db/schema.rb | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/db/migrate/20190228192410_add_multi_line_attributes_to_suggestion.rb b/db/migrate/20190228192410_add_multi_line_attributes_to_suggestion.rb new file mode 100644 index 00000000000..cdb898011e3 --- /dev/null +++ b/db/migrate/20190228192410_add_multi_line_attributes_to_suggestion.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AddMultiLineAttributesToSuggestion < ActiveRecord::Migration[5.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_column_with_default :suggestions, :outdated, :boolean, default: false, allow_null: false + add_column_with_default :suggestions, :lines_above, :integer, default: 0, allow_null: false + add_column_with_default :suggestions, :lines_below, :integer, default: 0, allow_null: false + end + + def down + remove_columns :suggestions, :outdated, :lines_above, :lines_below + end +end diff --git a/db/schema.rb b/db/schema.rb index 0c997f3b8a2..f34a776b2b0 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2039,6 +2039,9 @@ ActiveRecord::Schema.define(version: 20190322132835) do t.string "commit_id" t.text "from_content", null: false t.text "to_content", null: false + t.boolean "outdated", default: false, null: false + t.integer "lines_above", default: 0, null: false + t.integer "lines_below", default: 0, null: false t.index ["note_id", "relative_order"], name: "index_suggestions_on_note_id_and_relative_order", unique: true, using: :btree end |