init: AI培训与智能巡检系统

This commit is contained in:
selfrelease
2026-06-16 00:55:20 +08:00
commit c55598494b
201 changed files with 53131 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
-- 中国机车图鉴 · 数据底座 schema(SQLite,设计为可移植到 PostgreSQL
-- 对应任务 T-1.1。三层模型:Category -> Model -> Unit,加 Model 关系表。
PRAGMA foreign_keys = ON;
CREATE TABLE IF NOT EXISTS category (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
subcat TEXT DEFAULT '',
slug TEXT,
UNIQUE(name, subcat)
);
CREATE TABLE IF NOT EXISTS model (
id INTEGER PRIMARY KEY,
category_id INTEGER NOT NULL REFERENCES category(id),
series TEXT DEFAULT '',
model_code TEXT NOT NULL,
full_name TEXT DEFAULT '',
aliases TEXT DEFAULT '',
manufacturer TEXT DEFAULT '',
country TEXT DEFAULT '中国',
country_type TEXT DEFAULT '国产', -- 国产/进口/引进仿制/中外合资/未知
first_year INTEGER,
last_year INTEGER,
status TEXT DEFAULT '未知',
usage TEXT DEFAULT '',
production_count TEXT DEFAULT '',
axle_arrangement TEXT DEFAULT '',
drive TEXT DEFAULT '',
efficiency TEXT DEFAULT '',
-- 数值 + 单位(拆分存储)
length_value REAL, length_unit TEXT,
width_value REAL, width_unit TEXT,
height_value REAL, height_unit TEXT,
wheelbase_value REAL, wheelbase_unit TEXT,
weight_value REAL, weight_unit TEXT,
axle_load_value REAL, axle_load_unit TEXT,
load_value REAL, load_unit TEXT,
tractive_start_value REAL, tractive_start_unit TEXT,
tractive_cont_value REAL, tractive_cont_unit TEXT,
power_kw_value REAL, power_kw_unit TEXT,
max_speed_value REAL, max_speed_unit TEXT,
capacity_value REAL, capacity_unit TEXT,
raw_json TEXT, -- 原始清洗后所有列,保真不丢字段
source_sheet TEXT
);
CREATE INDEX IF NOT EXISTS idx_model_category ON model(category_id);
CREATE INDEX IF NOT EXISTS idx_model_code ON model(model_code);
CREATE INDEX IF NOT EXISTS idx_model_first_year ON model(first_year);
CREATE TABLE IF NOT EXISTS unit (
id INTEGER PRIMARY KEY,
category_id INTEGER NOT NULL REFERENCES category(id),
model_id INTEGER REFERENCES model(id),
car_number TEXT,
model_name TEXT DEFAULT '',
function TEXT DEFAULT '',
depot TEXT DEFAULT '',
livery TEXT DEFAULT '',
status TEXT DEFAULT '未知',
location TEXT DEFAULT '',
note TEXT DEFAULT '',
raw_json TEXT,
source_sheet TEXT
);
CREATE INDEX IF NOT EXISTS idx_unit_category ON unit(category_id);
CREATE INDEX IF NOT EXISTS idx_unit_car_number ON unit(car_number);
-- 车型族谱关系(父型号/衍生/国外原型),本期预留,后续填充
CREATE TABLE IF NOT EXISTS model_relation (
id INTEGER PRIMARY KEY,
from_model_id INTEGER NOT NULL REFERENCES model(id),
to_model_id INTEGER NOT NULL REFERENCES model(id),
rel_type TEXT NOT NULL, -- parent / derivative / prototype
UNIQUE(from_model_id, to_model_id, rel_type)
);