Files
msgexchange-v2/deploy/integration/postgres-init/02-basicdata-schema.sql
T
windyboy 2bd650a551 docs(acm2-75): 清理空转待决项并对齐全仓旧编号引用
- 删 Q2/Q15/Q19/Q20:时钟偏斜不进判据、实现自定已是结论、原文留存已定、
  运营日冲突处置已由 DEAD(PROTOCOL) 定
- Q6 的 abdg 定案本版不提供;Q22 改为 13 类报文到 admin-api 实体表组的映射
  (REF_MASTER 单表口径退位);Q23 收窄为 SODT+FLID 幂等重试
- C-1 自清口径四方同步(requirements 非目标、US-03 AC2、architecture §6)
- INV-2 吸收回填只写空值;§7 恢复 G-RESP-GUARD
- architecture/implementation/README/V1/oracle/Kotlin/seed 中 40+ 处旧编号
  按映射重指,check-docs 全绿
2026-09-20 07:13:20 +08:00

357 lines
12 KiB
SQL
Raw 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 联调的唯一测试承载,也是静态参考数据的落表
-- 方向;13 类报文与资源状态到本表组的映射待 `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);