ThingsBoard后端使用的数据库是PostgreSQL。
如果您需要替换为MySQL,需要下载MySQL的Java驱动、修改数据源的配置文件和源代码的SQL/HQL的适配。
1. 下载MySQL的Java驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.driver.version}</version>
</dependency>
2. 增加MySQL的数据源配置
driverClassName: "${SPRING_DRIVER_CLASS_NAME:com.mysql.cj.jdbc.Driver}"
url: "${SPRING_DATASOURCE_URL:jdbc:mysql://127.0.0.1:3306/thingsboard}"
username: "${SPRING_DATASOURCE_USERNAME:thingsboard}"
password: "${SPRING_DATASOURCE_PASSWORD:thingsboard}"
3. SQL/HQL适配(转换)
首先是PostgreSQL到MySQL数据库表的迁移。不兼容的字段类型,查询MySQL文档说明进行转换,如UUID、布尔类型等。Navicat提供了相应的转换功能。
其次,源代码包含大量的SQL/HQL转换。有数据库函数不兼容、关键字不兼容。
MySQL的SQL语句的表名、字段名用单引号标识。可以使用Hibernate的配置项 globally_quoted_identifiers: "true" 进行配置。