debian-mirror-gitlab/db/migrate/20210804150320_create_base_work_item_types.rb
2021-10-27 15:23:28 +05:30

36 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class CreateBaseWorkItemTypes < ActiveRecord::Migration[6.1]
include Gitlab::Database::MigrationHelpers
module WorkItem
class Type < ActiveRecord::Base
self.table_name = 'work_item_types'
enum base_type: {
issue: 0,
incident: 1,
test_case: 2,
requirement: 3
}
validates :name, uniqueness: { case_sensitive: false, scope: [:namespace_id] }
end
end
def up
# create default types
WorkItem::Type.create(name: 'Issue', namespace_id: nil, base_type: :issue, icon_name: 'issue-type-issue')
WorkItem::Type.create(name: 'Incident', namespace_id: nil, base_type: :incident, icon_name: 'issue-type-incident')
WorkItem::Type.create(name: 'Test Case', namespace_id: nil, base_type: :test_case, icon_name: 'issue-type-test-case')
WorkItem::Type.create(name: 'Requirement', namespace_id: nil, base_type: :requirement, icon_name: 'issue-type-requirements')
end
def down
# We expect this table to be empty at the point of the up migration,
# however there is a remote possibility that issues could already be
# using one of these types, with a tight foreign constraint.
# Therefore we will not attempt to remove any data.
end
end