From 3f9aa7dae25ad7f208b485dd7d3fa42905069385 Mon Sep 17 00:00:00 2001 From: Alex Kalderimis Date: Mon, 15 Jul 2019 10:29:21 -0400 Subject: Adds event enum column to DesignsVersions join table Also adds index to support scopes and queries This supports https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14656 --- ...t_type_to_design_management_designs_versions.rb | 27 ++++++++++++++++++++++ db/schema.rb | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 db/migrate/20190715140740_add_event_type_to_design_management_designs_versions.rb (limited to 'db') diff --git a/db/migrate/20190715140740_add_event_type_to_design_management_designs_versions.rb b/db/migrate/20190715140740_add_event_type_to_design_management_designs_versions.rb new file mode 100644 index 00000000000..81a8b0a3271 --- /dev/null +++ b/db/migrate/20190715140740_add_event_type_to_design_management_designs_versions.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +# This migration sets up a event enum on the DesignsVersions join table +class AddEventTypeToDesignManagementDesignsVersions < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + # We disable these cops here because adding this column is safe. The table does not + # have any data in it. + # rubocop: disable Migration/AddIndex + # rubocop: disable Migration/AddColumn + def up + add_column(:design_management_designs_versions, :event, :integer, + limit: 2, + null: false, + default: 0) + add_index(:design_management_designs_versions, :event) + end + + # rubocop: disable Migration/RemoveIndex + def down + remove_index(:design_management_designs_versions, :event) + remove_column(:design_management_designs_versions, :event) + end +end diff --git a/db/schema.rb b/db/schema.rb index 430fdd8f708..5c860c7dfc9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1097,8 +1097,10 @@ ActiveRecord::Schema.define(version: 2019_07_15_142138) do create_table "design_management_designs_versions", id: false, force: :cascade do |t| t.bigint "design_id", null: false t.bigint "version_id", null: false + t.integer "event", limit: 2, default: 0, null: false t.index ["design_id", "version_id"], name: "design_management_designs_versions_uniqueness", unique: true t.index ["design_id"], name: "index_design_management_designs_versions_on_design_id" + t.index ["event"], name: "index_design_management_designs_versions_on_event" t.index ["version_id"], name: "index_design_management_designs_versions_on_version_id" end -- cgit v1.2.3