Files
windyboy 25cc967bd2 feat(acm2-76): 联调栈数据库自动初始化——基础数据/字典/信箱报文/历史索引
- postgres-init:02 建 basicdata schema 与 25 张基础数据表(表列对齐
  admin-api secondary 实体注解),03 灌双流 T2 种子(fims_* 待 Q25 不造数);
  独立 schema 避免 public 非空导致 Flyway 首次 migrate 失败
- admin-mysql-init:原样引入 admin-api 仓库 adminapi_* 建表与字典/UI 种子,
  v0.0.2 补 FLIGHT_TASK/FLIGHT_TYPE 条目;compose 强制 utf8mb4 并设 LANG,
  防 initdb 客户端落 latin1 造成中文双重编码
- es-init 一次性服务:按 admin-api mapping 建 flight_hts2(别名 flight_hts),
  副本置 0 保持单节点 green
- dev/mysql-init:CMINMSGS 5 条样例报文(SCHD/FLOP×2/REGN/ARPT),
  REGN/ARPT 标注现状预期(SKIPPED / DEAD(EXHAUSTED))
- seed-flight.sql:Flyway 建表后手动执行,8 条航班 6 场景 + 资源明细
- admin-api.yml secondary 加 currentSchema=basicdata,public
- README:初始化/种子/重建卷/验收边界说明

已用 podman compose 重建数据卷全链实测;ACM2-76 有评审与验收全记录。
2026-09-19 11:09:58 +08:00

357 lines
12 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =====================================================================
-- deploy/integration/postgres-init/02-basicdata-schema.sql
-- 联调栈基础数据表:admin-api 只读(`C-10`)。
--
-- 权威口径:表与列直接取自 admin-api 实体
-- com.gzzn.omms.adminapi.domain.secondary.entity.baiscdata / .schedule
-- 的 @Table / @Column 注解,不改名、不合并、不按 SIS 标签重排。
-- 基础数据数据集见 docs/requirements.md「查询侧(admin-api)的数据面」。
-- 本 schema 是 admin-api 联调的唯一测试承载;`REF_MASTER` 的物理形态
-- 仍待 `Q22` 定稿,定稿前不以本表冒充。
--
-- 为什么独立 schema 而不是 public
-- public 由应用 Flyway 管辖,docker-entrypoint 先在里面建表会让首次
-- migrate 命中「非空 schema 无 history 表」而失败(baselineOnMigrate=false)。
-- admin-api 侧用 secondary URL 的 currentSchema=basicdata,public 解析表名。
--
-- 执行环境:docker-entrypoint-initdb.d,仅空卷首启时以 msgx_dev 运行;
-- admin_reader 角色由 01-admin-reader.sql 先建。
-- =====================================================================
CREATE SCHEMA IF NOT EXISTS basicdata;
COMMENT ON SCHEMA basicdata IS
'联调栈基础数据(admin-api 实体口径,只读;表列取自 admin-api secondary 实体注解)。';
GRANT USAGE ON SCHEMA basicdata TO admin_reader;
ALTER DEFAULT PRIVILEGES FOR ROLE msgx_dev IN SCHEMA basicdata
GRANT SELECT ON TABLES TO admin_reader;
SET search_path = basicdata;
-- ① 国家 SYS_COUNTRYadmin-api SysCountry
CREATE TABLE sys_country (
COUNTRY_ID BIGINT NOT NULL PRIMARY KEY,
COUNTRY_CODE VARCHAR(16),
COUNTRY_NAME_CHN VARCHAR(64),
COUNTRY_NAME_ENG VARCHAR(64),
OPERATE SMALLINT
);
-- ② 城市 SYS_CITYSysCity
CREATE TABLE sys_city (
CITY_ID BIGINT NOT NULL PRIMARY KEY,
CITY_CODE VARCHAR(16),
CITY_ICCDE VARCHAR(16),
CITY_NAME_CHN VARCHAR(64),
CITY_NAME_ENG VARCHAR(64),
COUNTRY_ID BIGINT,
MAIN_CITY_TAG NUMERIC(18,0),
OPERATE NUMERIC(18,0),
TEL_CITY_CODE VARCHAR(16)
);
-- ③ 机场集团 SYS_AIRPORTGROUPSysAirportGroup
CREATE TABLE sys_airportgroup (
AIRPORT_GROUP_ID BIGINT NOT NULL PRIMARY KEY,
AIRPORT_GROUP_CODE VARCHAR(16),
AIRPORT_GROUP_NAME VARCHAR(64)
);
-- ④ 机场 SYS_AIRPORTSysAirporthaul/operate 为无注解字段,列名即字段名)
CREATE TABLE sys_airport (
AIRPORT_ID BIGINT NOT NULL PRIMARY KEY,
AIRPORT_CODE VARCHAR(16),
AIRPORT_CODE_CAA VARCHAR(16),
AIRPORT_CODE_IATA VARCHAR(16),
AIRPORT_CODE_ICAO VARCHAR(16),
AIRPORT_GROUP_ID BIGINT,
AIRPORT_NAME_CHN VARCHAR(64),
AIRPORT_NAME_ENG VARCHAR(64),
BRIEF_NAME_CHN VARCHAR(64),
BRIEF_NAME_CHN_COPY VARCHAR(64),
BRIEF_NAME_ENG VARCHAR(64),
CITY_ID BIGINT,
HAUL VARCHAR(8),
HOST_FLAG NUMERIC(18,0),
INTERNATIONAL_FLAG NUMERIC(18,0),
OPERATE NUMERIC(18,0)
);
-- ⑤ 航空集团 SYS_AIRLINEGROUPSysAirlineGroup
CREATE TABLE sys_airlinegroup (
AIRLINE_GROUP_ID BIGINT NOT NULL PRIMARY KEY,
AIRLINE_GROUP_CODE VARCHAR(16),
AIRLINE_GROUP_NAME VARCHAR(64),
AIRLINE_GROUP_CODE_CAA VARCHAR(16),
AIRLINE_GROUP_CODE_IATA VARCHAR(16),
AIRLINE_GROUP_CODE_ICAO VARCHAR(16)
);
-- ⑥ 航空公司 SYS_AIRLINESysAirlinecode/namc/name/operate 为无注解字段)
CREATE TABLE sys_airline (
AIRLINE_ID BIGINT NOT NULL PRIMARY KEY,
AIRLINE_CODE VARCHAR(16),
AIRLINE_CODE_CAA VARCHAR(16),
AIRLINE_CODE_IATA VARCHAR(16),
AIRLINE_CODE_ICAO VARCHAR(16),
AIRLINE_GROUP_ID BIGINT,
AIRLINE_NAME VARCHAR(64),
AIRLINE_NAME_ENG VARCHAR(64),
BRIEF_NAME_CHN VARCHAR(64),
BRIEF_NAME_ENG VARCHAR(64),
CODE VARCHAR(16),
COUNTRY_ID BIGINT,
HOST_FLAG NUMERIC(18,0),
INTERNATIONAL_FLAG NUMERIC(18,0),
NAMC VARCHAR(64),
NAME VARCHAR(64),
OPERATE NUMERIC(18,0),
PARENT_AIRLINE_ID BIGINT
);
-- ⑦ 机型分组 SYS_AIRCRAFTTYPEGROUPSysAircrafttypeGroup
CREATE TABLE sys_aircrafttypegroup (
AIRCRAFTTYPEGROUP_ID BIGINT NOT NULL PRIMARY KEY,
AIRCRAFTTYPEGROUP_CODE VARCHAR(16),
AIRCRAFTTYPEGROUP_NAME VARCHAR(64)
);
-- ⑧ 机型 SYS_AIRCRAFTTYPESysAircrafttypechap/operate/transitstoptime 无注解)
CREATE TABLE sys_aircrafttype (
AIRCRAFT_TYPE_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
AIRCRAFT_HEIGHT NUMERIC(18,4),
AIRCRAFT_LENGTH NUMERIC(18,4),
AIRCRAFT_TYPE_CODE_CAA VARCHAR(16),
AIRCRAFT_TYPE_CODE_IATA VARCHAR(16),
AIRCRAFT_TYPE_CODE_ICAO VARCHAR(16),
AIRCRAFT_TYPE_NAME VARCHAR(64),
AIRCRAFT_WIDTH NUMERIC(18,4),
AIRCRAFTTYPEGROUP_ID BIGINT,
CHAP VARCHAR(16),
MAX_AIRBRIDGES NUMERIC(18,0),
MAX_FREIGHT_WEIGHT NUMERIC(18,4),
MAX_PASSENGERS NUMERIC(18,0),
MAX_TAKEOFF_WEIGHT NUMERIC(18,4),
OPERATE NUMERIC(18,0),
TRANSITSTOPTIME NUMERIC(18,0)
);
-- ⑨ 机号 SYS_AIRCRAFTSysAircraftoperate/owid 无注解)
CREATE TABLE sys_aircraft (
AIRCRAFT_ID BIGINT NOT NULL PRIMARY KEY,
AIRCRAFT_NUMBER VARCHAR(32),
AIRCRAFT_OWNER_CODE VARCHAR(16),
AIRCRAFT_TYPE_CODE VARCHAR(16),
AIRLINE_CODE VARCHAR(16),
MAX_AIRBRIDGES NUMERIC(18,0),
MAX_FREIGHT_WEIGHT NUMERIC(18,4),
MAX_PASSENGERS NUMERIC(18,0),
MAX_TAKEOFF_WEIGHT NUMERIC(18,4),
OPERATE NUMERIC(18,0),
OWID NUMERIC(18,0)
);
-- ⑩ 航班类型 SYS_FLIGHT_TYPESysFlightTypeByte 映射 SMALLINT
CREATE TABLE sys_flight_type (
FLIGHT_TYPE_CODE VARCHAR(8) NOT NULL PRIMARY KEY,
FLIGHT_TYPE_CAA_CODE VARCHAR(8),
FLIGHT_TYPE_NAME VARCHAR(64),
C_TAG VARCHAR(8),
VIP_TAG VARCHAR(8),
FLIGHT_TYPE_NAME_CN VARCHAR(64),
OPERATE SMALLINT
);
-- ⑪ 航班外部状态码 SYS_FLIGHT_STATUSSysFlightStatus
CREATE TABLE sys_flight_status (
STTC VARCHAR(16) NOT NULL PRIMARY KEY,
ABNS VARCHAR(64),
STDC VARCHAR(64),
STTD VARCHAR(8)
);
-- ⑫ 航班代理单位 SYS_FLIGHTAGENTSysFlightAgent
CREATE TABLE sys_flightagent (
FLIGHTAGENT_ID VARCHAR(32) NOT NULL PRIMARY KEY,
FLIGHTAGENT_NAME VARCHAR(64),
OGID VARCHAR(32)
);
-- ⑬ 延误异常定义 FIMS_FLIGHTSTATUS_DEFINITIONFimsFlightStatusDefinition
CREATE TABLE fims_flightstatus_definition (
FLIGHTSTATUSDEF_REC_ID BIGINT NOT NULL PRIMARY KEY,
FLIGHT_STATUS VARCHAR(16),
FLIGHT_STATUS_TYPE VARCHAR(16),
FLIGHT_STATUS_DESC VARCHAR(128),
ENABLED_FLAG VARCHAR(16),
DCOD VARCHAR(16),
DCDN BIGINT,
DDES VARCHAR(128),
DDSC VARCHAR(128),
OPERATE SMALLINT
);
-- ⑭ 航站楼 ORMS_TERMINALOrmsTerminaloperate 无注解)
CREATE TABLE orms_terminal (
TERMINAL_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
OPERATE NUMERIC(18,0),
TERMINAL_NAME VARCHAR(64)
);
-- ⑮ 航站楼区域 ORMS_TERMINALAREAOrmsTerminalarea
CREATE TABLE orms_terminalarea (
TERMINAL_AREA_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
ROUTE_TYPE VARCHAR(8),
TERMINAL_AREA_NAME VARCHAR(64),
TERMINAL_CODE VARCHAR(16)
);
-- ⑯ 机位类型 ORMS_STANDTYPEOrmsStandType
CREATE TABLE orms_standtype (
STAND_TYPE VARCHAR(32) NOT NULL PRIMARY KEY,
STAND_TYPE_DESC VARCHAR(64)
);
-- ⑰ 机位 ORMS_STANDOrmsStandddgt/digt/maxflightnum/operate/satc/stml 无注解)
CREATE TABLE orms_stand (
STAND_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
CURRENT_FLIGHT_ID BIGINT,
DDGT VARCHAR(16),
DIGT VARCHAR(16),
FSTAND_CODE VARCHAR(16),
ICON_LENGTH NUMERIC(18,4),
ICON_WIDTH NUMERIC(18,4),
LSTAND_CODE VARCHAR(16),
MAX_PERMIT NUMERIC(18,0),
MAXFLIGHTNUM NUMERIC(18,0),
OPERATE NUMERIC(18,0),
PIER_CODE VARCHAR(16),
POS_X NUMERIC(18,4),
POS_Y NUMERIC(18,4),
RSTAND_CODE VARCHAR(16),
SATC VARCHAR(16),
STAND_AREA_CODE VARCHAR(16),
STAND_LAYOUTED NUMERIC(18,0),
STAND_LENGTH NUMERIC(18,4),
STAND_NAME VARCHAR(64),
STAND_ORDER NUMERIC(18,0),
STAND_STATUS NUMERIC(18,0),
STAND_TYPE VARCHAR(16),
STAND_WIDTH NUMERIC(18,4),
STML VARCHAR(16),
TERMINAL_AREA_CODE VARCHAR(16)
);
-- ⑱ 机位廊桥 ORMS_STAND_AIRBRIDGEOrmsStandAirbridge + OrmsStandAirbridgePK
CREATE TABLE orms_stand_airbridge (
STAND_CODE VARCHAR(16) NOT NULL,
AIRBRIDGE_CODE VARCHAR(16) NOT NULL,
PRIMARY KEY (STAND_CODE, AIRBRIDGE_CODE)
);
-- ⑲ 登机门 ORMS_GATEOrmsGategtml/operate 无注解)
CREATE TABLE orms_gate (
GATE_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
ACTION_ORDER NUMERIC(18,0),
GATE_CATEGORY VARCHAR(8),
GATE_NAME VARCHAR(64),
GATE_STATUS NUMERIC(18,0),
GATE_TYPE VARCHAR(8),
GTML VARCHAR(16),
ICON_LENGTH NUMERIC(18,4),
ICON_WIDTH NUMERIC(18,4),
OPERATE NUMERIC(18,0),
PIER_CODE VARCHAR(16),
POS_X NUMERIC(18,4),
POS_Y NUMERIC(18,4),
STAND_LAYOUTED NUMERIC(18,0),
TERMINAL_AREA_CODE VARCHAR(16)
);
-- ⑳ 行李滑槽 ORMS_CHUTOrmsChutbcat/btml/operate 无注解)
CREATE TABLE orms_chut (
CHUT_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
BCAT VARCHAR(16),
BTML VARCHAR(16),
CHUT_LENGTH NUMERIC(18,4),
CHUT_NAME VARCHAR(64),
CHUT_STATUS VARCHAR(8),
OPERATE NUMERIC(18,0)
);
-- ㉑ 值机柜台 ORMS_CHECKINDESKOrmsCheckindeskccat/ctra/operate 无注解)
CREATE TABLE orms_checkindesk (
CHECKINDESK_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
CCAT VARCHAR(16),
CHECKIN_GROUP_CODE VARCHAR(16),
CHECKINDESK_NAME VARCHAR(64),
CHECKINDESK_STATUS VARCHAR(8),
CHUT_CODE VARCHAR(16),
CTRA VARCHAR(8),
NEXTCHECKINDESK_CODE VARCHAR(16),
OPERATE NUMERIC(18,0),
TERMINAL_AREA_CODE VARCHAR(16)
);
-- ㉒ 值机岛 ORMS_CHECKIN_GROUPCheckinGroup
CREATE TABLE orms_checkin_group (
CHECKIN_GROUP_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
CHECKIN_GROUP_NAME VARCHAR(64)
);
-- ㉓ 行李转盘 ORMS_CAROUSELOrmsCarouselbcls 无注解)
CREATE TABLE orms_carousel (
CAROUSEL_CODE VARCHAR(16) NOT NULL PRIMARY KEY,
ACTION_ORDER NUMERIC(18,0),
BCLS VARCHAR(16),
CAROUSEL_NAME VARCHAR(64),
CAROUSEL_STATUS VARCHAR(32),
ICON_LENGTH NUMERIC(18,4),
ICON_WIDTH NUMERIC(18,4),
POS_X NUMERIC(18,4),
POS_Y NUMERIC(18,4),
STAND_LAYOUTED NUMERIC(18,0),
TERMINAL_AREA_CODE VARCHAR(16)
);
-- ㉔ 季度计划 FIMS_FLIGHTSCHD_SEASONFimsFlightschdSeasonremarks 无注解)
-- 供数方待定(`Q25`),本轮只建空表,不造数。
CREATE TABLE fims_flightschd_season (
SEASONFLIGHT_ID BIGINT NOT NULL PRIMARY KEY,
AIRCRAFT_TYPE_CODE VARCHAR(16),
AIRLINE_ID BIGINT,
ARRI_OR_DEPT VARCHAR(4),
ARRIVAL_TIME VARCHAR(8),
DEPARTURE_TIME VARCHAR(8),
END_AIRPORT VARCHAR(16),
END_DATE DATE,
FLIGHT_NUMBER VARCHAR(16),
FLIGHT_TASK VARCHAR(16),
FLIGHT_TYPE_CODE VARCHAR(8),
FLYING_DISTANCE NUMERIC(18,4),
FLYING_TIME NUMERIC(18,4),
INTERNATIONAL_CODE VARCHAR(8),
OPERATION_DAYS VARCHAR(32),
REMARKS VARCHAR(256),
ROUTE_TYPE VARCHAR(8),
SEASON_NAME VARCHAR(32),
SEASON_REC_ID BIGINT,
START_AIRPORT VARCHAR(16),
START_DATE DATE,
SUB_AIRLINE_ID BIGINT
);
-- ㉕ 季度计划经停 FIMS_MIDAIRPORTS_SEASONFimsMidairportsSeasonorderno 无注解)
CREATE TABLE fims_midairports_season (
MIDAIRPORTS_REC_ID BIGINT NOT NULL PRIMARY KEY,
AIRPORT_ID BIGINT,
ARRIVAL_TIME VARCHAR(8),
DEPARTURE_TIME VARCHAR(8),
ORDERNO NUMERIC(18,0),
SEASONFLIGHT_ID BIGINT
);
CREATE INDEX idx_fims_midairports_season_flight
ON fims_midairports_season (SEASONFLIGHT_ID);