Files

357 lines
12 KiB
SQL
Raw Permalink Normal View History

-- =====================================================================
-- 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);