syncData.sql 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. CREATE TABLE gx_cc_daily_park_omni_revenue_ods
  2. (
  3. id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',
  4. report_date DATE NOT NULL COMMENT '报告日期',
  5. park VARCHAR(100) NOT NULL COMMENT '园区名称',
  6. total_omni_revenue DECIMAL(15, 2) NOT NULL COMMENT '总收入',
  7. business_created_timestamp DATE NOT NULL COMMENT '业务创建时间',
  8. business_modified_timestamp DATE NOT NULL COMMENT '业务修改时间',
  9. created_by VARCHAR(50) NOT NULL COMMENT '创建人',
  10. etl_created_timestamp DATETIME NOT NULL COMMENT 'ETL创建时间',
  11. etl_modified_timestamp DATETIME NOT NULL COMMENT 'ETL修改时间',
  12. UNIQUE KEY idx_report_date_park (report_date, park) COMMENT '日期和园区唯一索引'
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门票总收入';
  14. CREATE TABLE gx_cc_daily_park_ig_revenue_ods
  15. (
  16. id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',
  17. report_date DATE NOT NULL COMMENT '报告日期',
  18. park VARCHAR(100) NOT NULL COMMENT '园区名称',
  19. total_ig_revenue DECIMAL(15, 2) NOT NULL COMMENT '总收入',
  20. business_created_timestamp DATE NOT NULL COMMENT '业务创建时间',
  21. business_modified_timestamp DATE NOT NULL COMMENT '业务修改时间',
  22. created_by VARCHAR(50) NOT NULL COMMENT '创建人',
  23. etl_created_timestamp DATETIME NOT NULL COMMENT 'ETL创建时间',
  24. etl_modified_timestamp DATETIME NOT NULL COMMENT 'ETL修改时间',
  25. UNIQUE KEY idx_report_date_park (report_date, park) COMMENT '日期和园区唯一索引'
  26. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='园区内交易总收入';
  27. -- 出勤表
  28. CREATE TABLE IF NOT EXISTS ods_attendance
  29. (
  30. id
  31. INT
  32. PRIMARY
  33. KEY
  34. AUTO_INCREMENT
  35. COMMENT
  36. '自增ID',
  37. report_hour
  38. DATETIME
  39. NOT
  40. NULL
  41. COMMENT
  42. '报表小时(精确到小时)',
  43. park
  44. VARCHAR
  45. (
  46. 100
  47. ) NOT NULL COMMENT '乐园名称',
  48. total_attendance INT NOT NULL DEFAULT 0 COMMENT '总出勤人数',
  49. annual_pass INT NOT NULL DEFAULT 0 COMMENT '年卡用户出勤人数',
  50. vip_attendance INT NOT NULL DEFAULT 0 COMMENT 'VIP出勤人数',
  51. -- 添加 report_hour 和 park 的联合唯一索引,避免重复数据
  52. UNIQUE KEY uk_report_park
  53. (
  54. report_hour,
  55. park
  56. )
  57. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '乐园小时级出勤报表ODS表';
  58. -- 乐园收入报表表
  59. CREATE TABLE ods_revenue
  60. (
  61. id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
  62. report_date DATE NOT NULL COMMENT '报表日期',
  63. park VARCHAR(100) NOT NULL COMMENT '乐园名称',
  64. total_fb_revenue DECIMAL(12, 2) NOT NULL COMMENT '餐饮总收入',
  65. total_retail_revenue DECIMAL(12, 2) NOT NULL COMMENT '零售总收入',
  66. total_ticket_revenue DECIMAL(12, 2) NOT NULL COMMENT '门票总收入',
  67. UNIQUE KEY uk_report_date_park (report_date, park) COMMENT '日期+乐园唯一索引,避免重复数据'
  68. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='乐园每日收入报表';
  69. CREATE TABLE `ods_emarsys`
  70. (
  71. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  72. `report_timestamp` datetime DEFAULT NULL COMMENT '报告时间',
  73. `campaign_id` varchar(50) DEFAULT NULL COMMENT '活动',
  74. `origin_campaign_id` varchar(50) DEFAULT NULL COMMENT '活动来源ID',
  75. `campaign_name` varchar(255) DEFAULT NULL COMMENT '活动名称',
  76. `campaign_type` varchar(50) DEFAULT NULL COMMENT '活动类型',
  77. `campaign_category_name` varchar(50) DEFAULT NULL COMMENT '活动分类',
  78. `contact_id` varchar(50) DEFAULT NULL COMMENT 'contact_id',
  79. `launch_id` varchar(50) DEFAULT NULL COMMENT 'launch_id',
  80. `email_send_time` datetime DEFAULT NULL COMMENT '启动邮件发送时间',
  81. `email_first_open` datetime DEFAULT NULL COMMENT '首次邮件打开时间',
  82. `email_first_click` datetime DEFAULT NULL COMMENT '首次邮件点击时间',
  83. `last_activity_timestamp` datetime DEFAULT NULL COMMENT '最后点击活动时间',
  84. PRIMARY KEY (`id`),
  85. -- 联合唯一索引:避免同一日期、平台的重复数据
  86. UNIQUE KEY uk_ods_emarsys_report_campaign (`report_timestamp`, `campaign_id`),
  87. KEY `idx_report_time` (`report_timestamp`),
  88. KEY `idx_campaign_id` (`campaign_id`),
  89. KEY `idx_email_send_time` (`email_send_time`)
  90. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Emarsys 活动报表数据';
  91. CREATE TABLE IF NOT EXISTS ods_yi_app_metrics_screen_views (
  92. id INT AUTO_INCREMENT PRIMARY KEY,
  93. report_hour VARCHAR(50) NOT NULL,
  94. app_platform VARCHAR(50) NULL,
  95. screen_name VARCHAR(255) NULL,
  96. page_views_count INT UNSIGNED NULL,
  97. -- 联合唯一索引:避免同一小时、平台、页面的重复数据
  98. UNIQUE KEY uk_report_platform_screen (report_hour, app_platform, screen_name)
  99. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='页面浏览量统计数据表';
  100. CREATE TABLE IF NOT EXISTS ods_yi_app_metrics_engagement (
  101. id INT AUTO_INCREMENT PRIMARY KEY,
  102. report_date VARCHAR(50) NOT NULL COMMENT '报告日期(如2025100101)',
  103. app_platform VARCHAR(50) NOT NULL COMMENT '应用平台(Android/iOS)',
  104. sessions_count INT UNSIGNED NULL COMMENT '会话数',
  105. avg_engagement_time_sec DECIMAL(10, 2) NULL COMMENT '平均参与时间(秒)',
  106. total_revenue DECIMAL(10, 2) NULL COMMENT '总收入',
  107. -- 联合唯一索引:避免同一日期、平台的重复数据
  108. UNIQUE KEY uk_report_platform (report_date, app_platform)
  109. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应用会话统计数据表';