chore: 并入 iotlcm-deploy 历史到 deploy/(原提交 eb97c53)
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
-- ============================================================
|
||||
-- TDengine 初始化:流量历史库与超级表
|
||||
--
|
||||
-- 结构取自生产环境(SHOW CREATE STABLE 导出),仅结构、无数据。
|
||||
-- 由 compose 的 tdengine-init 服务在 tdengine 健康后执行。
|
||||
--
|
||||
-- 注意:`taos -f` 是**按行**执行语句的,每条 SQL 必须写在一行内,
|
||||
-- 跨行会被判为 "Incomplete SQL statement"。改本文件时务必保持单行。
|
||||
--
|
||||
-- 业务代码(worker-svr / admin-svr)只连接读写,不负责建库建表,
|
||||
-- 因此这一步必须在首次启动时完成,否则单卡流量重试写入会报库表不存在。
|
||||
-- ============================================================
|
||||
|
||||
CREATE DATABASE IF NOT EXISTS iotlcm_daily PRECISION 'ms' KEEP 1095d DURATION 7d;
|
||||
CREATE DATABASE IF NOT EXISTS iotlcm_monthly PRECISION 'ms' KEEP 1095d DURATION 30d;
|
||||
CREATE STABLE IF NOT EXISTS iotlcm_daily.t_sim_card_usage_daily (ts TIMESTAMP, usage_mb DOUBLE, package_code VARCHAR(128)) TAGS (iccid VARCHAR(64));
|
||||
CREATE STABLE IF NOT EXISTS iotlcm_monthly.t_sim_card_usage_monthly (ts TIMESTAMP, usage_mb DOUBLE, package_code VARCHAR(128)) TAGS (iccid VARCHAR(64));
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
# ============================================================
|
||||
# TDengine 初始化执行脚本
|
||||
#
|
||||
# 由 compose 的 tdengine-init 服务调用,在 tdengine 健康后执行一次。
|
||||
# 做三件事:
|
||||
# 1. 过滤掉 init.sql 里的注释与空行(taos -f 会逐行执行,
|
||||
# 注释行会被当成不完整 SQL 报错)
|
||||
# 2. 执行建库建表
|
||||
# 3. 校验超级表确实存在,缺表则以非零码退出(让 compose 暴露失败)
|
||||
# ============================================================
|
||||
set -eu
|
||||
|
||||
echo "[tdengine-init] 准备 SQL(过滤注释与空行)"
|
||||
grep -vE '^[[:space:]]*(--|$)' /init/init.sql > /tmp/init.sql
|
||||
echo "[tdengine-init] 待执行语句数:$(wc -l < /tmp/init.sql)"
|
||||
|
||||
echo "[tdengine-init] 执行建库建表"
|
||||
taos -h tdengine -f /tmp/init.sql
|
||||
|
||||
echo "[tdengine-init] 校验超级表"
|
||||
missing=0
|
||||
for pair in "iotlcm_daily:t_sim_card_usage_daily" "iotlcm_monthly:t_sim_card_usage_monthly"; do
|
||||
db=${pair%%:*}
|
||||
stable=${pair##*:}
|
||||
if taos -h tdengine -s "show ${db}.stables;" 2>/dev/null | grep -q "$stable"; then
|
||||
echo " OK ${db}.${stable}"
|
||||
else
|
||||
echo " MISS ${db}.${stable}"
|
||||
missing=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$missing" -ne 0 ]; then
|
||||
echo "[tdengine-init] 失败:超级表缺失,请检查 taos 输出"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[tdengine-init] 完成"
|
||||
Reference in New Issue
Block a user