zhanghaijun лет назад: 2
Родитель
Сommit
d19c621336
20 измененных файлов с 436 добавлено и 34 удалено
  1. 14 0
      train-server/pom.xml
  2. 18 6
      train-server/src/main/java/top/haijunit/train/controller/DemoController.java
  3. 0 28
      train-server/src/main/java/top/haijunit/train/controller/WebSocketController.java
  4. 33 0
      train-server/src/main/java/top/haijunit/train/domain/entity/UserEntity.java
  5. 13 0
      train-server/src/main/java/top/haijunit/train/domain/repository/UserRepository.java
  6. 45 0
      train-server/src/main/resources/application.yml
  7. 210 0
      train-server/src/main/resources/db/changelog/db-server-train-1.xml
  8. 26 0
      train-server/src/main/resources/db/changelog/db-server-train.xml
  9. 36 0
      train-server/src/main/resources/db/changelog/db-server.xml
  10. 17 0
      train-server/src/main/resources/db/changelog/db_sign.txt
  11. 2 0
      train-server/src/main/resources/db/changelog/信号灯-signal.txt
  12. 3 0
      train-server/src/main/resources/db/changelog/停车标-stopSign.txt
  13. 2 0
      train-server/src/main/resources/db/changelog/列车-train.txt
  14. 3 0
      train-server/src/main/resources/db/changelog/区段-selection.txt
  15. 2 0
      train-server/src/main/resources/db/changelog/站台-platform.txt
  16. 2 0
      train-server/src/main/resources/db/changelog/站台门-stationDoor.txt
  17. 3 0
      train-server/src/main/resources/db/changelog/紧急停车按钮-emergencyStop.txt
  18. 2 0
      train-server/src/main/resources/db/changelog/车站-station.txt
  19. 3 0
      train-server/src/main/resources/db/changelog/进路-route.txt
  20. 2 0
      train-server/src/main/resources/db/changelog/道岔-switch.txt

+ 14 - 0
train-server/pom.xml

@@ -27,6 +27,20 @@
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-thymeleaf</artifactId>
             <artifactId>spring-boot-starter-thymeleaf</artifactId>
         </dependency>
         </dependency>
+        <!-- 数据库操作 -->
+        <dependency>
+            <groupId>org.liquibase</groupId>
+            <artifactId>liquibase-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
     </dependencies>
     </dependencies>
     <build>
     <build>
         <plugins>
         <plugins>

+ 18 - 6
train-server/src/main/java/top/haijunit/train/controller/DemoController.java

@@ -1,29 +1,41 @@
 package top.haijunit.train.controller;
 package top.haijunit.train.controller;
 
 
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 import top.haijunit.common.domain.ResultData;
 import top.haijunit.common.domain.ResultData;
+import top.haijunit.train.domain.entity.UserEntity;
+import top.haijunit.train.domain.repository.UserRepository;
+
+import java.util.List;
 
 
 /**
 /**
  * @author zhang
  * @author zhang
  * @date 2023/11/22 22:53
  * @date 2023/11/22 22:53
  * @description [一句话描述该类的功能]
  * @description [一句话描述该类的功能]
  */
  */
-@Controller
+@RestController
 @RequestMapping("/demo")
 @RequestMapping("/demo")
+@RequiredArgsConstructor
 public class DemoController {
 public class DemoController {
 
 
+    private final UserRepository userRepository;
+
     @GetMapping("")
     @GetMapping("")
-    @ResponseBody
     public ResultData<String> demo() {
     public ResultData<String> demo() {
         return ResultData.success("");
         return ResultData.success("");
     }
     }
 
 
-    @RequestMapping("/page")
+    @GetMapping("/page")
     public ModelAndView page() {
     public ModelAndView page() {
         return new ModelAndView("webSocket");
         return new ModelAndView("webSocket");
     }
     }
+
+    @GetMapping("/user")
+    public ResultData<List<UserEntity>> userList() {
+        return ResultData.success(userRepository.findAll());
+    }
 }
 }

+ 0 - 28
train-server/src/main/java/top/haijunit/train/controller/WebSocketController.java

@@ -1,28 +0,0 @@
-package top.haijunit.train.controller;
-
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * @author zhanghaijun
- * @date 2023/11/3 16:36
- * @description 测试websocket界面
- */
-@RestController
-public class WebSocketController {
-
-    @GetMapping("/page")
-    public ModelAndView page() {
-        return new ModelAndView("webSocket");
-    }
-
-    @RequestMapping("/push/{toUID}")
-    public ResponseEntity<String> pushToClient(String message, @PathVariable String toUID) throws Exception {
-        return ResponseEntity.ok("Send Success!");
-    }
-
-}

+ 33 - 0
train-server/src/main/java/top/haijunit/train/domain/entity/UserEntity.java

@@ -0,0 +1,33 @@
+package top.haijunit.train.domain.entity;
+
+import jakarta.persistence.*;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 11:34
+ * @description [一句话描述该类的功能]
+ */
+@Data
+@Entity(name = "t_user")
+public class UserEntity implements Serializable {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(nullable = false, unique = true)
+    private String username;
+
+    @Column(nullable = false)
+    private String phone;
+
+    @Column(name = "create_time", nullable = false)
+    private Date createTime;
+
+    @Column(nullable = false)
+    private Integer status;
+}

+ 13 - 0
train-server/src/main/java/top/haijunit/train/domain/repository/UserRepository.java

@@ -0,0 +1,13 @@
+package top.haijunit.train.domain.repository;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import top.haijunit.train.domain.entity.UserEntity;
+
+/**
+ * @author zhanghaijun
+ * @date 2023/11/24 11:36
+ * @description [一句话描述该类的功能]
+ */
+public interface UserRepository extends JpaRepository<UserEntity, Long> {
+
+}

+ 45 - 0
train-server/src/main/resources/application.yml

@@ -5,15 +5,31 @@ server:
       charset: UTF-8
       charset: UTF-8
       force: true
       force: true
     context-path: /
     context-path: /
+  undertow:
+    max-http-post-size: -1
+    buffer-size: 512
+    direct-buffers: true
+    threads:
+      io: 8
+      worker: 256
 logging:
 logging:
   level:
   level:
     top.haijunit: @logging.level@
     top.haijunit: @logging.level@
     top.haijunit.web: debug
     top.haijunit.web: debug
     org.springframework: info
     org.springframework: info
     org.hibernate.validator: warn
     org.hibernate.validator: warn
+    com.hexadecimal: info
     org.apache: warn
     org.apache: warn
   config: classpath:logback.xml
   config: classpath:logback.xml
 spring:
 spring:
+  application:
+    name: train-server
+  profiles:
+    active: @profiles.active@
+  servlet:
+    multipart:
+      max-file-size: 10MB
+      max-request-size: 20MB
   freemarker:
   freemarker:
     enabled: true
     enabled: true
     request-context-attribute: request
     request-context-attribute: request
@@ -26,6 +42,35 @@ spring:
     expose-request-attributes: true
     expose-request-attributes: true
     expose-session-attributes: true
     expose-session-attributes: true
     expose-spring-macro-helpers: true
     expose-spring-macro-helpers: true
+  h2:
+    console:
+      enabled: true
+      path: /h2
+      settings:
+        trace: false
+        web-allow-others: true
+  liquibase:
+    enabled: true
+    change-log: classpath:/db/changelog/db-server.xml
+  datasource:
+    type: com.zaxxer.hikari.HikariDataSource
+    driver-class-name: org.h2.Driver
+    url: jdbc:h2:./store/db_train;IGNORECASE=TRUE;MODE=MySQL;AUTO_SERVER=TRUE;AUTO_SERVER_PORT=9090;USER=root;PASSWORD=123456
+    username: root
+    password: 123456
+    hikari:
+      minimum-idle: 10
+      maximum-pool-size: 20
+      connectionTimeout: 30000
+      validationTimeout: 5000
+      idleTimeout: 600000
+      maxLifetime: 1800000
+      connectionTestQuery: SELECT 1
+      keepaliveTime: 30000
+  jpa:
+    hibernate:
+      ddl-auto: update
+    show-sql: true
 
 
 ---
 ---
 websocket:
 websocket:

+ 210 - 0
train-server/src/main/resources/db/changelog/db-server-train-1.xml

@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="utf-8"?>
+<databaseChangeLog
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
+
+    <changeSet id="db_signal" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_signal" schemaName="${schema.name}" remarks="信号灯">
+            <column name="id" type="VARCHAR(128)" autoIncrement="true" remarks="唯一标识">
+                <constraints nullable="false" primaryKey="true"/>
+            </column>
+            <column name="name" type="VARCHAR(128)" defaultValue="" remarks="名称"/>
+            <column name="code" type="VARCHAR(64)" defaultValue="" remarks="编号"/>
+            <column name="kilometer" type="DOUBLE(10,5)" defaultValueNumeric="0" remarks="公里标(单位Km)"/>
+            <column name="color_state" type="VARCHAR(64)" defaultValue="" remarks="状态:红、绿、黄、红黄"/>
+            <column name="selection_id" type="VARCHAR(128)" defaultValue="" remarks="区段号"/>
+            <column name="direction" type="VARCHAR(128)" defaultValue="" remarks="上行、下行"/>
+            <column name="station_id" type="VARCHAR(64)" defaultValue="" remarks="归属车站/编码 "/>
+        </createTable>
+    </changeSet>
+    <changeSet id="load-sign-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_signal" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData file="db_signal.txt" tableName="db_signal" primaryKey="id" relativeToChangelogFile="true" quotchar="'"  catalogName="${catalog.name}" schemaName="${schema.name}" >
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+            <column name="kilometer" type="STRING"/>
+            <column name="color_state" type="STRING"/>
+            <column name="selection_id" type="NUMERIC"/>
+            <column name="direction" type="STRING"/>
+            <column name="station_id" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+    <changeSet id="db_switch" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_switch" schemaName="${schema.name}" remarks="道岔">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="name" type="VARCHAR128" defaultValue="" remarks="名称"/>
+            <column name="kilometer" type="VARCHAR128" defaultValue="" remarks="公里标"/>
+            <column name="type" type="VARCHAR128" defaultValue="" remarks="类型"/>
+            <column name="pre_selection_id" type="VARCHAR128" defaultValue="" remarks="岔前区段号"/>
+            <column name="next_selection_id" type="VARCHAR128" defaultValue="" remarks="岔后区段号"/>
+            <column name="next_side_selection_id" type="VARCHAR128" defaultValue="" remarks="岔后侧向区段号"/>
+            <column name="station_id" type="VARCHAR128" defaultValue="" remarks="所属车站编号"/>
+        </createTable>
+    </changeSet>
+	<changeSet id="load-switch-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_switch" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData catalogName="${catalog.name}" schemaName="${schema.name}" tableName="db_switch" file="db_switch.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'">
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+            <column name="kilometer" type="STRING"/>
+            <column name="type" type="STRING"/>
+            <column name="preSelectionId" type="STRING"/>
+            <column name="nextSelectionId" type="STRING"/>
+            <column name="nextSideSelectionId" type="STRING"/>
+            <column name="stationId" type="STRING"/>
+
+        </loadUpdateData>
+    </changeSet>
+
+    <changeSet id="db_station" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_station" schemaName="${schema.name}" remarks="车站">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="name" type="VARCHAR128" defaultValue="" remarks="名称"/>
+        </createTable>
+    </changeSet>
+	  <changeSet id="load-station-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_station" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_station" file="db_station.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}" >
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+
+    <changeSet id="db_platform" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_platform" schemaName="${schema.name}" remarks="站台">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="stationId" type="VARCHAR128" defaultValue="" remarks="所属车站"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="上下行"/>
+            <column name="stopTime" type="VARCHAR128" defaultValue="" remarks="默认停站时间"/>
+        </createTable>
+    </changeSet>
+	<changeSet id="load-platform-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_platform" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_platform" file="db_platform.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'"catalogName="${catalog.name}" schemaName="${schema.name}" >
+            <column name="id" type="STRING"/>
+            <column name="stationId" type="STRING"/>
+            <column name="direction" type="STRING"/>
+            <column name="stopTime" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+    <changeSet id="db_selection" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_selection" schemaName="${schema.name}" remarks="区段">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="name" type="VARCHAR128" defaultValue="" remarks="名称"/>
+            <column name="startKilometer" type="VARCHAR128" defaultValue="" remarks="起始公里标"/>
+            <column name="length" type="VARCHAR128" defaultValue="" remarks="长度"/>
+            <column name="preId" type="VARCHAR128" defaultValue="" remarks="前一区段号"/>
+            <column name="nextId" type="VARCHAR128" defaultValue="" remarks="后一区段号"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="上下行"/>
+            <column name="zfState" type="VARCHAR128" defaultValue="" remarks="折返标志"/>
+            <column name="stationId" type="VARCHAR128" defaultValue="" remarks="所属车站编号"/>
+        </createTable>
+    </changeSet>
+	<changeSet id="load-selection-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_selection" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_selection" file="db_selection.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}">
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+            <column name="startKilometer" type="STRING"/>
+            <column name="length" type="STRING"/>
+            <column name="preId" type="STRING"/>
+            <column name="nextId" type="STRING"/>
+            <column name="direction" type="STRING"/>
+            <column name="zfState" type="STRING"/>
+            <column name="stationId" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+    <changeSet id="db_emergencyStop" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_emergencyStop" schemaName="${schema.name}" remarks="紧急停车按钮">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="stationId" type="VARCHAR128" defaultValue="" remarks="所属站台"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="上下行"/>
+        </createTable>
+    </changeSet>
+	 <changeSet id="load-emergencyStop-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_emergencyStop" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_emergencyStop" file="db_emergencyStop.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}">
+            <column name="id" type="STRING"/>
+            <column name="stationId" type="STRING"/>
+            <column name="direction" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+
+    <changeSet id="db_route" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_route" schemaName="${schema.name}" remarks="进路">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="name" type="VARCHAR128" defaultValue="" remarks="进路名称"/>
+            <column name="signalIds" type="VARCHAR128" defaultValue="" remarks="关联信号机"/>
+            <column name="signalState" type="VARCHAR128" defaultValue="" remarks="关联信号机状态"/>
+            <column name="seleIds" type="VARCHAR128" defaultValue="" remarks="关联区段列表"/>
+            <column name="switch_id" type="VARCHAR128" defaultValue="" remarks="关联道岔"/>
+            <column name="switchState" type="VARCHAR128" defaultValue="" remarks="关联道岔状态"/>
+            <column name="trigPosition" type="VARCHAR128" defaultValue="" remarks="触发点位置"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="进路方向"/>
+        </createTable>
+    </changeSet>
+	 <changeSet id="load-route-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_route" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_route" file="db_route.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}">
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+            <column name="signalIds" type="STRING"/>
+            <column name="signalState" type="STRING"/>
+            <column name="seleIds" type="STRING"/>
+            <column name="switch_id" type="STRING"/>
+            <column name="switchState" type="STRING"/>
+            <column name="trigPosition" type="STRING"/>
+            <column name="direction" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+
+    <changeSet id="db_stopSign" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_stopSign" schemaName="${schema.name}" remarks="停车标">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="stationId" type="VARCHAR128" defaultValue="" remarks="所属站台"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="上下行"/>
+            <column name="selectionId" type="VARCHAR128" defaultValue="" remarks="所属区段号"/>
+            <column name="selectionOff" type="VARCHAR128" defaultValue="" remarks="所属区段偏移"/>
+        </createTable>
+    </changeSet>
+	<changeSet id="load-stopSign-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_stopSign" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_stopSign" file="db_stopSign.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}">
+            <column name="id" type="STRING"/>
+            <column name="stationId" type="STRING"/>
+            <column name="direction" type="STRING"/>
+            <column name="selectionId" type="STRING"/>
+            <column name="selectionOff" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+    <changeSet id="db_train" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_train" schemaName="${schema.name}" remarks="列车">
+            <column name="id" type="VARCHAR128" defaultValue="" remarks="编号"/>
+            <column name="name" type="VARCHAR128" defaultValue="" remarks="车次号"/>
+            <column name="length" type="VARCHAR128" defaultValue="" remarks="长度"/>
+            <column name="initKilometer" type="VARCHAR128" defaultValue="" remarks="初始位置公里标"/>
+            <column name="direction" type="VARCHAR128" defaultValue="" remarks="初始运行方向"/>
+        </createTable>
+    </changeSet>
+
+	 <changeSet id="load-train-data" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <delete tableName="db_train" catalogName="${catalog.name}" schemaName="${schema.name}"/>
+        <loadUpdateData tableName="db_train" file="db_train.txt" relativeToChangelogFile="true" primaryKey="id" quotchar="'" catalogName="${catalog.name}" schemaName="${schema.name}">
+            <column name="id" type="STRING"/>
+            <column name="name" type="STRING"/>
+            <column name="length" type="STRING"/>
+            <column name="initKilometer" type="STRING"/>
+            <column name="direction" type="STRING"/>
+        </loadUpdateData>
+    </changeSet>
+
+</databaseChangeLog>
+

+ 26 - 0
train-server/src/main/resources/db/changelog/db-server-train.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<databaseChangeLog
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
+
+    <changeSet id="createTable-db_sign" author="zhanghaijun" failOnError="false" runOnChange="true">
+        <createTable tableName="db_sign" schemaName="${schema.name}" remarks="轨道点位表">
+            <column name="id" type="${autoing.type}" autoIncrement="true" remarks="唯一标识">
+                <constraints nullable="false" primaryKey="true"/>
+            </column>
+            <column name="name" type="VARCHAR(128)" defaultValue="" remarks="名称"/>
+            <column name="code" type="VARCHAR(64)" defaultValue="" remarks="编号"/>
+            <column name="kilometer" type="DOUBLE(10,5)" defaultValueNumeric="0" remarks="公里标(单位Km)"/>
+            <column name="direction" type="VARCHAR(64)" defaultValue="" remarks="上行/下行"/>
+            <column name="sign_status" type="VARCHAR(128)" defaultValue="" remarks="状态行"/>
+            <column name="sign_type" type="VARCHAR(128)" defaultValue="" remarks="点位类型"/>
+
+            <column name="station_code" type="VARCHAR(64)" defaultValue="" remarks="归属车站/编码 "/>
+            <column name="station_name" type="VARCHAR(128)" defaultValue="" remarks="归属车站/名称 "/>
+            <column name="selection_name" type="VARCHAR(128)" defaultValue="" remarks="所在区段名称"/>
+        </createTable>
+    </changeSet>
+
+</databaseChangeLog>
+

+ 36 - 0
train-server/src/main/resources/db/changelog/db-server.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<databaseChangeLog
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
+
+    <property name="schema.name" value="${database.defaultSchemaName}"/>
+    <property name="catalog.name" value="${database.defaultCatalogName}"/>
+
+    <property name="clob.type" value="longtext" dbms="h2"/>
+    <property name="clob.type" value="longtext" dbms="mysql,mariadb"/>
+    <property name="clob.type" value="clob"/>
+
+    <property name="autoing.type" value="bigint(20)" dbms="h2"/>
+    <property name="autoing.type" value="bigint(20)" dbms="mysql,mariadb"/>
+    <property name="autoing.type" value="serial"/>
+
+    <property name="number.type" value="bigint" dbms="h2"/>
+    <property name="number.type" value="int" dbms="mysql,mariadb"/>
+    <property name="number.type" value="serial"/>
+
+    <property name="now" value="now()" dbms="h2"/>
+    <property name="now" value="now()" dbms="mysql,mariadb"/>
+    <property name="now" value="sysdate"/>
+
+    <changeSet author="zhanghaijun" id="mysql_charsets_change" runOnChange="true" runAlways="true" failOnError="false" dbms="mysql,mariadb">
+        <validCheckSum>ANY</validCheckSum>
+        <sql dbms="mysql,mariadb" splitStatements="true" stripComments="true">
+            ALTER DATABASE ${schema.name} DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_bin
+        </sql>
+    </changeSet>
+
+    <include relativeToChangelogFile="true" file="db-server-train.xml"/>
+
+</databaseChangeLog>
+

+ 17 - 0
train-server/src/main/resources/db/changelog/db_sign.txt

@@ -0,0 +1,17 @@
+station_code,station_name,code,name,kilometer,direction,sign_type,sign_status,selection_name
+T001,A站,S0101,S0101,250,up,MachineSign,disable,T0101|T0103
+T001,A站,S0102,S0102,250,down,MachineSign,disable,T0102|T0104
+T001,A站,S0103,S0103,1250,up,MachineSign,disable,T0103|T0105
+T001,A站,S0104,S0104,1250,down,MachineSign,disable,T0104|T0106
+T001,A站,S0105,S0105,1750,up,MachineSign,disable,T0105|T0107
+T001,A站,S0106,S0106,1750,down,MachineSign,disable,T0106|T0108
+T002,B站,S0201,S0201,4750,up,MachineSign,disable,T0107|T0203
+T002,B站,S0202,S0202,4750,down,MachineSign,disable,T0108|T0202
+T002,B站,S0203,S0203,5250,up,MachineSign,disable,T0203|T0205
+T002,B站,S0204,S0204,5250,down,MachineSign,disable,T0202|T0204
+T003,C站,S0301,S0301,8250,up,MachineSign,disable,T0205|T0301
+T003,C站,S0302,S0302,8250,down,MachineSign,disable,T0204|T0302
+T003,C站,S0303,S0303,8750,up,MachineSign,disable,T0301|T0303
+T003,C站,S0304,S0304,8750,down,MachineSign,disable,T0302|T0304
+T003,C站,S0305,S0305,9750,up,MachineSign,disable,T0303|T0305
+T003,C站,S0306,S0306,9750,down,MachineSign,disable,T0304|T0306

+ 2 - 0
train-server/src/main/resources/db/changelog/信号灯-signal.txt

@@ -0,0 +1,2 @@
+id,name,kilometer,colorState,selectionId,direction,stationId
+编号,名称,公里标,状态,区段号,类型,车站编号

+ 3 - 0
train-server/src/main/resources/db/changelog/停车标-stopSign.txt

@@ -0,0 +1,3 @@
+id,stationId,direction,selectionId,selectionOff
+编号,所属站台,上下行,所属区段号,所属区段偏移
+

+ 2 - 0
train-server/src/main/resources/db/changelog/列车-train.txt

@@ -0,0 +1,2 @@
+id,name,length,initKilometer,direction
+编号,车次号,长度,初始位置公里标,初始运行方向

+ 3 - 0
train-server/src/main/resources/db/changelog/区段-selection.txt

@@ -0,0 +1,3 @@
+id,name,startKilometer,length,preId,nextId,direction,zfState,stationId
+编号,名称,起始公里标,长度,前一区段号,后一区段号,上下行,折返标志,所属车站编号
+

+ 2 - 0
train-server/src/main/resources/db/changelog/站台-platform.txt

@@ -0,0 +1,2 @@
+id,stationId,direction,stopTime
+编号,所属车站,上下行,默认停站时间

+ 2 - 0
train-server/src/main/resources/db/changelog/站台门-stationDoor.txt

@@ -0,0 +1,2 @@
+ id,stationId,direction
+ 编号,所属站台,上下行

+ 3 - 0
train-server/src/main/resources/db/changelog/紧急停车按钮-emergencyStop.txt

@@ -0,0 +1,3 @@
+id,stationId,direction
+编号,所属站台,上下行
+

+ 2 - 0
train-server/src/main/resources/db/changelog/车站-station.txt

@@ -0,0 +1,2 @@
+id,name
+编号,名称

+ 3 - 0
train-server/src/main/resources/db/changelog/进路-route.txt

@@ -0,0 +1,3 @@
+id,name,signalIds,signalState,seleIds,switch,switchState,trigPosition,direction
+编号,进路名称,关联信号机,关联信号机状态,关联区段列表,关联道岔,关联道岔状态,触发点位置,进路方向
+

+ 2 - 0
train-server/src/main/resources/db/changelog/道岔-switch.txt

@@ -0,0 +1,2 @@
+id,name,kilometer,type,preSelectionId,nextSelectionId,nextSideSelectionId,stationId
+编号,名称,类型,岔前区段号,岔后区段号,岔后侧向区段号,所属车站编号