mirror of
https://github.com/plausible/analytics.git
synced 2024-11-27 17:23:00 +03:00
6637751a5e
* Implement Numeric IDs migration * Fix typo * Mute credo for now * Improve configurability and add stop_t * Adjust to Ch/Chto only * Fix opts key for dictionary password * Add regular ecto migration with numeric ids v2 schemas (#2768) * Add regular ecto migration * Fix typo * Update priv/ingest_repo/migrations/20230320094327_create_v2_schemas.exs Co-authored-by: Vini Brasil <vini@hey.com> * Implement v2 events/sessions schema modules (#2777) * Implement v2 events/sessions schema modules * Clean up session schemas --------- Co-authored-by: Vini Brasil <vini@hey.com> * Update moduledocs --------- Co-authored-by: Vini Brasil <vini@hey.com>
40 lines
1.3 KiB
Elixir
40 lines
1.3 KiB
Elixir
CREATE TABLE events_v2 <%= if @cluster? do %>ON CLUSTER '{cluster}'<% end %>
|
|
(
|
|
`timestamp` DateTime CODEC(Delta(4), LZ4),
|
|
`name` LowCardinality(String),
|
|
`site_id` UInt64,
|
|
`user_id` UInt64,
|
|
`session_id` UInt64,
|
|
`hostname` String,
|
|
`pathname` String CODEC(ZSTD(3)),
|
|
`referrer` String,
|
|
`referrer_source` String,
|
|
`country_code` FixedString(2),
|
|
`screen_size` LowCardinality(String),
|
|
`operating_system` LowCardinality(String),
|
|
`browser` LowCardinality(String),
|
|
`utm_medium` String,
|
|
`utm_source` String,
|
|
`utm_campaign` String,
|
|
`meta.key` Array(String),
|
|
`meta.value` Array(String),
|
|
`browser_version` LowCardinality(String),
|
|
`operating_system_version` LowCardinality(String),
|
|
`subdivision1_code` LowCardinality(String),
|
|
`subdivision2_code` LowCardinality(String),
|
|
`city_geoname_id` UInt32,
|
|
`utm_content` String,
|
|
`utm_term` String,
|
|
`transferred_from` String
|
|
)
|
|
<%= if @cluster? do %>
|
|
ENGINE = ReplicatedMergeTree('/clickhouse/{cluster}/tables/{shard}/{database}/events_v2', '{replica}')
|
|
<% else %>
|
|
ENGINE = MergeTree()
|
|
<% end %>
|
|
PARTITION BY toYYYYMM(timestamp)
|
|
PRIMARY KEY (site_id, toDate(timestamp), name, user_id)
|
|
ORDER BY (site_id, toDate(timestamp), name, user_id, timestamp)
|
|
SAMPLE BY user_id
|
|
<%= @table_settings %>
|