34 lines
980 B
Ruby
34 lines
980 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class CreateAnalyticsCycleAnalyticsGroupValueStreams < ActiveRecord::Migration[6.0]
|
||
|
include Gitlab::Database::MigrationHelpers
|
||
|
|
||
|
DOWNTIME = false
|
||
|
INDEX_NAME = 'index_analytics_ca_group_value_streams_on_group_id_and_name'
|
||
|
|
||
|
disable_ddl_transaction!
|
||
|
|
||
|
def up
|
||
|
unless table_exists?(:analytics_cycle_analytics_group_value_streams)
|
||
|
with_lock_retries do
|
||
|
create_table :analytics_cycle_analytics_group_value_streams do |t|
|
||
|
t.timestamps_with_timezone
|
||
|
t.references(:group, {
|
||
|
null: false,
|
||
|
index: false,
|
||
|
foreign_key: { to_table: :namespaces, on_delete: :cascade }
|
||
|
})
|
||
|
t.text :name, null: false
|
||
|
t.index [:group_id, :name], unique: true, name: INDEX_NAME
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
add_text_limit :analytics_cycle_analytics_group_value_streams, :name, 100
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
drop_table :analytics_cycle_analytics_group_value_streams
|
||
|
end
|
||
|
end
|