diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-07 09:06:10 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-10-07 09:06:10 +0300 |
commit | 3900b8a0062113e11e600e4226426e4163ac5e2c (patch) | |
tree | cde54fc9de3a74a730fe5c9aab78886e66a95bde /db | |
parent | 0c437c3e2fc1a7def9334fad6d9476e4e7c4af9a (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db')
4 files changed, 178 insertions, 1 deletions
diff --git a/db/migrate/20190929180751_create_vulnerabilities.rb b/db/migrate/20190929180751_create_vulnerabilities.rb new file mode 100644 index 00000000000..aea018c5979 --- /dev/null +++ b/db/migrate/20190929180751_create_vulnerabilities.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class CreateVulnerabilities < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + create_table :vulnerabilities do |t| + t.bigint "milestone_id" + t.bigint "epic_id" + t.bigint "project_id", null: false + t.bigint "author_id", null: false + t.bigint "updated_by_id" + t.bigint "last_edited_by_id" + t.bigint "start_date_sourcing_milestone_id" + t.bigint "due_date_sourcing_milestone_id" + t.bigint "closed_by_id" + t.datetime_with_timezone "last_edited_at" + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.datetime_with_timezone "closed_at" + t.date "start_date" + t.date "due_date" + t.integer "state", limit: 2, default: 1, null: false # initially: open, closed + t.integer "severity", limit: 2, null: false # auto-calculated as highest-severity finding, but overrideable + t.integer "confidence", limit: 2, null: false # auto-calculated as lowest-confidence finding, but overrideable + t.boolean "severity_overridden", default: false + t.boolean "confidence_overridden", default: false + t.string "title", limit: 255, null: false + t.text "title_html", null: false + t.text "description" + t.text "description_html" + end + end +end diff --git a/db/migrate/20190929180813_add_reference_from_vulnerability_occurrences_to_occurrences.rb b/db/migrate/20190929180813_add_reference_from_vulnerability_occurrences_to_occurrences.rb new file mode 100644 index 00000000000..eb8e8fb73d1 --- /dev/null +++ b/db/migrate/20190929180813_add_reference_from_vulnerability_occurrences_to_occurrences.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddReferenceFromVulnerabilityOccurrencesToOccurrences < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + add_column :vulnerability_occurrences, :vulnerability_id, :bigint + end +end diff --git a/db/migrate/20190929180827_add_foreign_keys_and_indexes_to_vulnerabilities.rb b/db/migrate/20190929180827_add_foreign_keys_and_indexes_to_vulnerabilities.rb new file mode 100644 index 00000000000..4d7c2363083 --- /dev/null +++ b/db/migrate/20190929180827_add_foreign_keys_and_indexes_to_vulnerabilities.rb @@ -0,0 +1,76 @@ +# frozen_string_literal: true + +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class AddForeignKeysAndIndexesToVulnerabilities < ActiveRecord::Migration[5.2] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_concurrent_index :vulnerabilities, :milestone_id + add_concurrent_foreign_key :vulnerabilities, :milestones, column: :milestone_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :epic_id + add_concurrent_foreign_key :vulnerabilities, :epics, column: :epic_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :project_id + add_concurrent_foreign_key :vulnerabilities, :projects, column: :project_id + + add_concurrent_index :vulnerabilities, :author_id + add_concurrent_foreign_key :vulnerabilities, :users, column: :author_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :updated_by_id + add_concurrent_foreign_key :vulnerabilities, :users, column: :updated_by_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :last_edited_by_id + add_concurrent_foreign_key :vulnerabilities, :users, column: :last_edited_by_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :closed_by_id + add_concurrent_foreign_key :vulnerabilities, :users, column: :closed_by_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :start_date_sourcing_milestone_id + add_concurrent_foreign_key :vulnerabilities, :milestones, column: :start_date_sourcing_milestone_id, on_delete: :nullify + + add_concurrent_index :vulnerabilities, :due_date_sourcing_milestone_id + add_concurrent_foreign_key :vulnerabilities, :milestones, column: :due_date_sourcing_milestone_id, on_delete: :nullify + + add_concurrent_index :vulnerability_occurrences, :vulnerability_id + add_concurrent_foreign_key :vulnerability_occurrences, :vulnerabilities, column: :vulnerability_id, on_delete: :nullify + end + + def down + remove_foreign_key :vulnerability_occurrences, :vulnerabilities + remove_concurrent_index :vulnerability_occurrences, :vulnerability_id + + remove_foreign_key :vulnerabilities, column: :due_date_sourcing_milestone_id + remove_concurrent_index :vulnerabilities, :due_date_sourcing_milestone_id + + remove_foreign_key :vulnerabilities, column: :start_date_sourcing_milestone_id + remove_concurrent_index :vulnerabilities, :start_date_sourcing_milestone_id + + remove_foreign_key :vulnerabilities, column: :closed_by_id + remove_concurrent_index :vulnerabilities, :closed_by_id + + remove_foreign_key :vulnerabilities, column: :last_edited_by_id + remove_concurrent_index :vulnerabilities, :last_edited_by_id + + remove_foreign_key :vulnerabilities, column: :updated_by_id + remove_concurrent_index :vulnerabilities, :updated_by_id + + remove_foreign_key :vulnerabilities, column: :author_id + remove_concurrent_index :vulnerabilities, :author_id + + remove_foreign_key :vulnerabilities, :projects + remove_concurrent_index :vulnerabilities, :project_id + + remove_foreign_key :vulnerabilities, :epics + remove_concurrent_index :vulnerabilities, :epic_id + + remove_foreign_key :vulnerabilities, :milestones + remove_concurrent_index :vulnerabilities, :milestone_id + end +end diff --git a/db/schema.rb b/db/schema.rb index b2caca12ce4..6c5c761e774 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2019_09_27_074328) do +ActiveRecord::Schema.define(version: 2019_09_29_180827) do # These are extensions that must be enabled in order to support this database enable_extension "pg_trgm" @@ -3705,6 +3705,42 @@ ActiveRecord::Schema.define(version: 2019_09_27_074328) do t.index ["user_id", "project_id"], name: "index_users_star_projects_on_user_id_and_project_id", unique: true end + create_table "vulnerabilities", force: :cascade do |t| + t.bigint "milestone_id" + t.bigint "epic_id" + t.bigint "project_id", null: false + t.bigint "author_id", null: false + t.bigint "updated_by_id" + t.bigint "last_edited_by_id" + t.date "start_date" + t.date "due_date" + t.datetime_with_timezone "last_edited_at" + t.datetime_with_timezone "created_at", null: false + t.datetime_with_timezone "updated_at", null: false + t.string "title", limit: 255, null: false + t.text "title_html", null: false + t.text "description" + t.text "description_html" + t.bigint "start_date_sourcing_milestone_id" + t.bigint "due_date_sourcing_milestone_id" + t.bigint "closed_by_id" + t.datetime_with_timezone "closed_at" + t.integer "state", limit: 2, default: 1, null: false + t.integer "severity", limit: 2, null: false + t.boolean "severity_overridden", default: false + t.integer "confidence", limit: 2, null: false + t.boolean "confidence_overridden", default: false + t.index ["author_id"], name: "index_vulnerabilities_on_author_id" + t.index ["closed_by_id"], name: "index_vulnerabilities_on_closed_by_id" + t.index ["due_date_sourcing_milestone_id"], name: "index_vulnerabilities_on_due_date_sourcing_milestone_id" + t.index ["epic_id"], name: "index_vulnerabilities_on_epic_id" + t.index ["last_edited_by_id"], name: "index_vulnerabilities_on_last_edited_by_id" + t.index ["milestone_id"], name: "index_vulnerabilities_on_milestone_id" + t.index ["project_id"], name: "index_vulnerabilities_on_project_id" + t.index ["start_date_sourcing_milestone_id"], name: "index_vulnerabilities_on_start_date_sourcing_milestone_id" + t.index ["updated_by_id"], name: "index_vulnerabilities_on_updated_by_id" + end + create_table "vulnerability_feedback", id: :serial, force: :cascade do |t| t.datetime_with_timezone "created_at", null: false t.datetime_with_timezone "updated_at", null: false @@ -3772,10 +3808,12 @@ ActiveRecord::Schema.define(version: 2019_09_27_074328) do t.string "name", null: false t.string "metadata_version", null: false t.text "raw_metadata", null: false + t.bigint "vulnerability_id" t.index ["primary_identifier_id"], name: "index_vulnerability_occurrences_on_primary_identifier_id" t.index ["project_id", "primary_identifier_id", "location_fingerprint", "scanner_id"], name: "index_vulnerability_occurrences_on_unique_keys", unique: true t.index ["scanner_id"], name: "index_vulnerability_occurrences_on_scanner_id" t.index ["uuid"], name: "index_vulnerability_occurrences_on_uuid", unique: true + t.index ["vulnerability_id"], name: "index_vulnerability_occurrences_on_vulnerability_id" end create_table "vulnerability_scanners", force: :cascade do |t| @@ -4202,6 +4240,15 @@ ActiveRecord::Schema.define(version: 2019_09_27_074328) do add_foreign_key "users_ops_dashboard_projects", "projects", on_delete: :cascade add_foreign_key "users_ops_dashboard_projects", "users", on_delete: :cascade add_foreign_key "users_star_projects", "projects", name: "fk_22cd27ddfc", on_delete: :cascade + add_foreign_key "vulnerabilities", "epics", name: "fk_1d37cddf91", on_delete: :nullify + add_foreign_key "vulnerabilities", "milestones", column: "due_date_sourcing_milestone_id", name: "fk_7c5bb22a22", on_delete: :nullify + add_foreign_key "vulnerabilities", "milestones", column: "start_date_sourcing_milestone_id", name: "fk_88b4d546ef", on_delete: :nullify + add_foreign_key "vulnerabilities", "milestones", name: "fk_131d289c65", on_delete: :nullify + add_foreign_key "vulnerabilities", "projects", name: "fk_efb96ab1e2", on_delete: :cascade + add_foreign_key "vulnerabilities", "users", column: "author_id", name: "fk_b1de915a15", on_delete: :nullify + add_foreign_key "vulnerabilities", "users", column: "closed_by_id", name: "fk_cf5c60acbf", on_delete: :nullify + add_foreign_key "vulnerabilities", "users", column: "last_edited_by_id", name: "fk_1302949740", on_delete: :nullify + add_foreign_key "vulnerabilities", "users", column: "updated_by_id", name: "fk_7ac31eacb9", on_delete: :nullify add_foreign_key "vulnerability_feedback", "ci_pipelines", column: "pipeline_id", on_delete: :nullify add_foreign_key "vulnerability_feedback", "issues", on_delete: :nullify add_foreign_key "vulnerability_feedback", "merge_requests", name: "fk_563ff1912e", on_delete: :nullify @@ -4214,6 +4261,7 @@ ActiveRecord::Schema.define(version: 2019_09_27_074328) do add_foreign_key "vulnerability_occurrence_pipelines", "ci_pipelines", column: "pipeline_id", on_delete: :cascade add_foreign_key "vulnerability_occurrence_pipelines", "vulnerability_occurrences", column: "occurrence_id", on_delete: :cascade add_foreign_key "vulnerability_occurrences", "projects", on_delete: :cascade + add_foreign_key "vulnerability_occurrences", "vulnerabilities", name: "fk_97ffe77653", on_delete: :nullify add_foreign_key "vulnerability_occurrences", "vulnerability_identifiers", column: "primary_identifier_id", on_delete: :cascade add_foreign_key "vulnerability_occurrences", "vulnerability_scanners", column: "scanner_id", on_delete: :cascade add_foreign_key "vulnerability_scanners", "projects", on_delete: :cascade |