diff --git a/db/click_house/migrate/main/20240703165200_recreate_ci_finished_pipelines_table.rb b/db/click_house/migrate/main/20240703165200_recreate_ci_finished_pipelines_table.rb new file mode 100644 index 0000000000000000000000000000000000000000..3ac9b87a5543aca5c41bbf26446b21400683a9fe --- /dev/null +++ b/db/click_house/migrate/main/20240703165200_recreate_ci_finished_pipelines_table.rb @@ -0,0 +1,55 @@ +# frozen_string_literal: true + +class RecreateCiFinishedPipelinesTable < ClickHouse::Migration + def up + execute <<~SQL + DROP TABLE IF EXISTS ci_finished_pipelines + SQL + + execute <<~SQL + CREATE TABLE ci_finished_pipelines + ( + `id` UInt64 DEFAULT 0, + `path` String DEFAULT '0/', + `committed_at` DateTime64(6, 'UTC') DEFAULT 0, + `created_at` DateTime64(6, 'UTC') DEFAULT 0, + `started_at` DateTime64(6, 'UTC') DEFAULT 0, + `finished_at` DateTime64(6, 'UTC') DEFAULT 0, + `duration` UInt64 DEFAULT 0, + `date` Date32 MATERIALIZED toStartOfMonth(finished_at), + `status` LowCardinality(String) DEFAULT '', + `source` LowCardinality(String) DEFAULT '', + `ref` String DEFAULT '' + ) + ENGINE = ReplacingMergeTree + PARTITION BY toYear(finished_at) + ORDER BY (id) + SQL + end + + def down + execute <<~SQL + DROP TABLE IF EXISTS ci_finished_pipelines + SQL + + execute <<~SQL + CREATE TABLE ci_finished_pipelines + ( + `id` UInt64 DEFAULT 0, + `project_id` UInt64 DEFAULT 0, + `committed_at` DateTime64(6, 'UTC') DEFAULT 0, + `created_at` DateTime64(6, 'UTC') DEFAULT 0, + `started_at` DateTime64(6, 'UTC') DEFAULT 0, + `finished_at` DateTime64(6, 'UTC') DEFAULT 0, + `duration` Int64, + `date` Date32 MATERIALIZED toStartOfMonth(finished_at), + `status` LowCardinality(String) DEFAULT '', + `source` LowCardinality(String) DEFAULT '', + `ref` String DEFAULT '' + ) + ENGINE = ReplacingMergeTree + PARTITION BY toYear(finished_at) + ORDER BY (id) + SQL + end +end