diff options
Diffstat (limited to 'db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb')
-rw-r--r-- | db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb b/db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb new file mode 100644 index 00000000000..6cd9b1173b6 --- /dev/null +++ b/db/post_migrate/20210519104931_backfill_clusters_integration_prometheus_enabled.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +class BackfillClustersIntegrationPrometheusEnabled < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + disable_ddl_transaction! + + def up + ApplicationRecord.connection.execute(<<~SQL.squish) + WITH executed_at AS (VALUES (TIMEZONE('UTC', NOW()))) + INSERT INTO clusters_integration_prometheus( + cluster_id, + enabled, + encrypted_alert_manager_token, + encrypted_alert_manager_token_iv, + created_at, + updated_at + ) + SELECT + cluster_id, + true, + encrypted_alert_manager_token, + encrypted_alert_manager_token_iv, + (table executed_at), + (table executed_at) + FROM clusters_applications_prometheus + WHERE status IN ( + 3, /* installed */ + 11 /* externally installed */ + ) + ON CONFLICT(cluster_id) DO UPDATE SET + enabled = true, + encrypted_alert_manager_token = EXCLUDED.encrypted_alert_manager_token, + encrypted_alert_manager_token_iv = EXCLUDED.encrypted_alert_manager_token_iv, + updated_at = (table executed_at) + SQL + end + + def down + # Irreversible + end +end |