32 lines
779 B
Ruby
32 lines
779 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AddDevopsAdoptionSnapshotNotNull < ActiveRecord::Migration[6.0]
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
DOWNTIME = false
|
|
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
with_lock_retries do
|
|
execute(
|
|
<<~SQL
|
|
LOCK TABLE analytics_devops_adoption_snapshots IN ACCESS EXCLUSIVE MODE;
|
|
|
|
UPDATE analytics_devops_adoption_snapshots SET end_time = date_trunc('month', recorded_at) - interval '1 millisecond';
|
|
|
|
ALTER TABLE analytics_devops_adoption_snapshots ALTER COLUMN end_time SET NOT NULL;
|
|
SQL
|
|
)
|
|
end
|
|
end
|
|
|
|
def down
|
|
with_lock_retries do
|
|
execute(<<~SQL)
|
|
ALTER TABLE analytics_devops_adoption_snapshots ALTER COLUMN end_time DROP NOT NULL;
|
|
SQL
|
|
end
|
|
end
|
|
end
|