DROP TABLE IF EXISTS dsolovianov.core_fact_lesson_views ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.core_dim_user ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.core_dim_course ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.core_dim_lesson ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.core_dim_date ON CLUSTER clickhouse_cluster SYNC; DROP TABLE IF EXISTS dsolovianov.core_enrollments ON CLUSTER clickhouse_cluster SYNC; CREATE TABLE dsolovianov.core_dim_user ON CLUSTER clickhouse_cluster ( user_id Int32, name String, age Int32, email String, registration_date Date ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_dim_user', '{replica}' ) ORDER BY user_id; CREATE TABLE dsolovianov.core_dim_course ON CLUSTER clickhouse_cluster ( course_id Int32, title String, category String ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_dim_course', '{replica}' ) ORDER BY course_id; CREATE TABLE dsolovianov.core_dim_lesson ON CLUSTER clickhouse_cluster ( lesson_id Int32, title String, duration_min Int32, course_id Int32 ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_dim_lesson', '{replica}' ) ORDER BY lesson_id; CREATE TABLE dsolovianov.core_dim_date ON CLUSTER clickhouse_cluster ( date Date, year Int32, month Int32, day Int32, weekday String ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_dim_date', '{replica}' ) ORDER BY date; CREATE TABLE dsolovianov.core_enrollments ON CLUSTER clickhouse_cluster ( user_id Int32, course_id Int32, enrolled_at DateTime64(3) ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_enrollments', '{replica}' ) ORDER BY user_id; CREATE TABLE dsolovianov.core_fact_lesson_views ON CLUSTER clickhouse_cluster ( user_id Int32, lesson_id Int32, course_id Int32, viewed_at DateTime64(3) ) ENGINE = ReplicatedMergeTree( '/clickhouse/tables/{shard}/dsolovianov/core_fact_lesson_views', '{replica}' ) ORDER BY user_id;