1+ -- Deploy模块数据库架构
2+ -- 部署相关的主机、实例和版本历史表
3+
4+ -- 创建hosts表:主机信息
5+ CREATE TABLE hosts (
6+ id SERIAL PRIMARY KEY ,
7+ name VARCHAR (255 ) UNIQUE,
8+ ip_address VARCHAR (45 ) UNIQUE,
9+ is_stopped BOOLEAN
10+ );
11+
12+ -- 创建instances表:服务实例信息
13+ CREATE TABLE instances (
14+ id VARCHAR (255 ) NOT NULL PRIMARY KEY , -- VARCHAR类型主键,非自增,不为空
15+ service_name VARCHAR (255 ),
16+ service_version VARCHAR (255 ),
17+ host_id VARCHAR (255 ),
18+ host_ip_address VARCHAR (45 ),
19+ ip_address VARCHAR (45 ),
20+ port INT ,
21+ status VARCHAR (50 ),
22+ is_stopped BOOLEAN ,
23+ -- 保留ip_address和port的组合唯一约束
24+ CONSTRAINT unique_ip_port UNIQUE (ip_address, port)
25+ );
26+
27+ -- 1. 创建service_name和service_version的联合索引
28+ CREATE INDEX idx_instances_service_name_version
29+ ON instances (service_name, service_version);
30+
31+ -- 2. 创建service_name和ip_address的联合索引
32+ CREATE INDEX idx_instances_service_name_ip
33+ ON instances (service_name, ip_address);
34+
35+ -- 3. 创建version_histories表:版本历史记录
36+ CREATE TABLE version_histories (
37+ id SERIAL PRIMARY KEY ,
38+ instance_id VARCHAR (255 ),
39+ service_name VARCHAR (255 ),
40+ service_version VARCHAR (255 ),
41+ status VARCHAR (50 )
42+ );
43+
44+ -- 初始化主机数据
45+ -- 插入 jfcs1021 主机数据
46+ INSERT INTO hosts (name, ip_address, is_stopped)
47+ VALUES (' jfcs1021' , ' 10.210.10.33' , false);
48+
49+ -- 插入 jfcs1022 主机数据
50+ INSERT INTO hosts (name, ip_address, is_stopped)
51+ VALUES (' jfcs1022' , ' 10.210.10.30' , false);
52+
53+ -- 插入 jfcs1023 主机数据
54+ INSERT INTO hosts (name, ip_address, is_stopped)
55+ VALUES (' jfcs1023' , ' 10.210.10.31' , false);
0 commit comments