44 lines
2.3 KiB
SQL
44 lines
2.3 KiB
SQL
-- ----------------------------
|
|
-- Zone management: bms_region -> prc_zone -> prc_zone_detail
|
|
-- Country master is bms_region (no prc_zone_country)
|
|
-- charset: utf8mb4
|
|
-- ----------------------------
|
|
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
DROP TABLE IF EXISTS prc_zone_detail;
|
|
DROP TABLE IF EXISTS prc_zone;
|
|
DROP TABLE IF EXISTS prc_zone_country;
|
|
DROP TABLE IF EXISTS xtd_zonecountry;
|
|
DROP TABLE IF EXISTS xtd_zone_division;
|
|
DROP TABLE IF EXISTS xtd_zone_scheme;
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
|
|
|
CREATE TABLE IF NOT EXISTS prc_zone (
|
|
zone_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'zone id',
|
|
region_id BIGINT(20) NOT NULL COMMENT 'bms_region.region_id',
|
|
country_code VARCHAR(10) NOT NULL COMMENT 'ISO2 country code from bms_region',
|
|
zone_code VARCHAR(50) NOT NULL COMMENT 'zone code e.g. 1',
|
|
zone_name VARCHAR(100) DEFAULT NULL COMMENT 'display name e.g. AU(1)',
|
|
zone_sort INT(11) DEFAULT 0 COMMENT 'sort',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT 'remark',
|
|
create_time DATETIME DEFAULT NULL COMMENT 'created at',
|
|
update_time DATETIME DEFAULT NULL COMMENT 'updated at',
|
|
PRIMARY KEY (zone_id),
|
|
UNIQUE KEY uk_zone_region_code (region_id, zone_code),
|
|
INDEX idx_zone_region_id (region_id),
|
|
INDEX idx_zone_country_code (country_code)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone under bms_region';
|
|
|
|
CREATE TABLE IF NOT EXISTS prc_zone_detail (
|
|
detail_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT 'detail id',
|
|
zone_id BIGINT(20) NOT NULL COMMENT 'zone id',
|
|
postcode VARCHAR(32) NOT NULL COMMENT 'postcode',
|
|
create_time DATETIME DEFAULT NULL COMMENT 'created at',
|
|
update_time DATETIME DEFAULT NULL COMMENT 'updated at',
|
|
PRIMARY KEY (detail_id),
|
|
INDEX idx_zd_zone_id (zone_id),
|
|
INDEX idx_zd_postcode (postcode),
|
|
UNIQUE KEY uk_zd_zone_postcode (zone_id, postcode),
|
|
CONSTRAINT fk_zd_zone FOREIGN KEY (zone_id) REFERENCES prc_zone (zone_id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='zone postcode detail';
|