应公司要求,将 thingsboard 数据库整改为 mysql,有大神弄过吗?
同求,按照 github 上操作了下,也是未能成功。楼主有解决么?
1、下载相应的驱动包,然后 cmd 到 maven 的 bin 目录 根据自己的实际情况 运行如下命令 mvn install:install-file -dfile=d:/360downloads/mysql-connector-java-5.1.38.jar -dgroupid=mysql -dartifactid=mysql-connector-java -dversion=5.1.38 -dpackaging=jar
-dgroupid 对应为 pom 文件中的 groupid
-dartifactid 对应为 pom 文件中的 artifactid
-dversion 对应为 pom 文件中的 version
-dpackaging 导入包的类型是 jar 包的话就是 jar
-dfile 你下载下来的 jar 包放的路径
2、thingsboard 根目录 pom.xml 加上以下依赖 mysql mysql-connector-java 5.1.38 / 3、导入 mysql 驱动包 idea 选择点击 file 菜单选择 project structure,点击 libraries,再点击左边的 “ ” 选择 java,然后选择本地 mysql 驱动包
4、thinsboard.yml 数据源配置修改为如下: database-platform: "${spring_jpa_database_platform:org.hibernate.dialect.mysql5innodbdialect}" driverclassname: "${spring_driver_class_name:com.mysql.jdbc.driver}" url: "${spring_datasource_url:jdbc:mysql://192.168.10.13:3306/thingsboard?useunicode=true&characterencoding=utf-8&allowmultiqueries=true&autoreconnect=true&servertimezone=utc}" username: "${spring_datasource_username:root}" password: "${spring_datasource_password:root123$}"
由于项目需要我公司需要开发一个物联网项目,之前也没有相应的案例,所以从网上找到开源的 thingsboard 项目(下文统称 tb)。公司之前的项目都是使用 mysql 数据库,而 tb 项目使用的关系数据库是 postgresql,因此为了更好的处理数据库中的数据领导让我实现使用 mysql 启动 thingsboard,下面开始我曲折的探索过程。 首先是在 mysql 数据库上建表和插入基础数据,建表语句和插入语句如下:
建表语句:
create table admin_settings
(
id
varchar(31) not null,
json_value
varchar(5000) default null,
key
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table alarm
(
id
varchar(31) not null,
ack_ts
bigint(20) default null,
clear_ts
bigint(20) default null,
additional_info
varchar(218) default null,
end_ts
bigint(20) default null,
originator_id
varchar(31) default null,
originator_type
int(11) default null,
propagate
tinyint(1) default null,
severity
varchar(255) default null,
start_ts
bigint(20) default null,
status
varchar(255) default null,
tenant_id
varchar(31) default null,
propagate_relation_types
varchar(218) default null,
type
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table asset
(
id
varchar(31) not null,
additional_info
varchar(218) default null,
customer_id
varchar(31) default null,
name
varchar(255) default null,
label
varchar(255) default null,
search_text
varchar(255) default null,
tenant_id
varchar(31) default null,
type
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table attribute_kv
(
entity_type
varchar(255) not null,
entity_id
varchar(31) default null,
attribute_type
varchar(255) default null,
attribute_key
varchar(255) default null,
bool_v
tinyint(1) default null,
str_v
varchar(255) default null,
long_v
bigint(20) default null,
dbl_v
double default null,
last_update_ts
bigint(20) default null
) engine=innodb default charset=utf8;
create table audit_log
(
id
varchar(31) not null,
tenant_id
varchar(31) default null,
customer_id
varchar(31) default null,
entity_id
varchar(31) default null,
entity_type
varchar(255) default null,
entity_name
varchar(255) default null,
user_id
varchar(31) default null,
user_name
varchar(255) default null,
action_type
varchar(255) default null,
action_data
varchar(255) default null,
action_status
varchar(255) default null,
action_failure_details
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table component_descriptor
(
id
varchar(31) not null,
actions
varchar(255) default null,
clazz
varchar(255) default null,
configuration_descriptor
varchar(1000) default null,
name
varchar(255) default null,
scope
varchar(255) default null,
search_text
varchar(255) default null,
type
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table customer
(
id
varchar(31) not null,
additional_info
varchar(255) default null,
address
varchar(255) default null,
address2
varchar(255) default null,
city
varchar(255) default null,
country
varchar(255) default null,
email
varchar(255) default null,
phone
varchar(255) default null,
search_text
varchar(255) default null,
state
varchar(255) default null,
tenant_id
varchar(31) default null,
title
varchar(255) default null,
zip
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table dashboard
(
id
varchar(31) not null,
configuration
varchar(255) default null,
assigned_customers
varchar(255) default null,
search_text
varchar(255) default null,
tenant_id
varchar(31) default null,
title
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table device
(
id
varchar(31) not null,
additional_info
varchar(255) default null,
customer_id
varchar(31) default null,
type
varchar(255) default null,
name
varchar(255) default null,
label
varchar(255) default null,
search_text
varchar(255) default null,
tenant_id
varchar(31) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table device_credentials
(
id
varchar(31) not null,
credentials_id
varchar(255) default null,
credentials_type
varchar(255) default null,
credentials_value
varchar(255) default null,
device_id
varchar(31) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table entity_view
(
id
varchar(31) not null,
entity_id
varchar(31) default null,
entity_type
varchar(255) default null,
tenant_id
varchar(31) default null,
customer_id
varchar(31) default null,
type
varchar(255) default null,
name
varchar(255) default null,
keys
varchar(255) default null,
start_ts
bigint(20) default null,
end_ts
bigint(20) default null,
search_text
varchar(255) default null,
additional_info
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table event
(
id
varchar(31) not null,
body
varchar(255) default null,
entity_id
varchar(31) default null,
entity_type
varchar(255) default null,
event_type
varchar(255) default null,
event_uid
varchar(255) default null,
tenant_id
varchar(31) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table relation
(
from_id
varchar(31) not null,
from_type
varchar(255) default null,
to_id
varchar(31) default null,
to_type
varchar(255) default null,
relation_type_group
varchar(255) default null,
relation_type
varchar(255) default null,
additional_info
varchar(255) default null,
primary key (from_id
)
) engine=innodb default charset=utf8;
create table rule_chain
(
id
varchar(255) not null,
additional_info
varchar(255) default null,
configuration
varchar(255) default null,
debug_mode
bit(1) default null,
first_rule_node_id
varchar(255) default null,
name
varchar(255) default null,
root
bit(1) default null,
search_text
varchar(255) default null,
tenant_id
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table rule_node
(
id
varchar(31) not null,
rule_chain_id
varchar(31) default null,
additional_info
varchar(255) default null,
configuration
varchar(255) default null,
type
varchar(255) default null,
name
varchar(255) default null,
debug_mode
tinyint(1) default null,
search_text
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table tb_user
(
id
varchar(31) not null,
additional_info
varchar(255) default null,
authority
varchar(255) default null,
customer_id
varchar(31) default null,
email
varchar(255) default null,
first_name
varchar(255) default null,
last_name
varchar(255) default null,
search_text
varchar(255) default null,
tenant_id
varchar(31) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table tenant
(
id
varchar(31) not null,
additional_info
varchar(255) default null,
address
varchar(255) default null,
address2
varchar(255) default null,
city
varchar(255) default null,
country
varchar(255) default null,
email
varchar(255) default null,
phone
varchar(255) default null,
region
varchar(255) default null,
search_text
varchar(255) default null,
state
varchar(255) default null,
title
varchar(255) default null,
zip
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table tenant_ts_kv
(
tenant_id
varchar(31) not null,
entity_id
varchar(31) not null,
key
varchar(255) not null,
ts
bigint(20) not null,
bool_v
tinyint(1) default null,
str_v
varchar(255) default null,
long_v
bigint(20) default null,
dbl_v
double default null,
primary key (tenant_id
,entity_id
,key
,ts
)
) engine=innodb default charset=utf8;
create table ts_kv
(
entity_type
varchar(255) not null,
entity_id
varchar(31) not null,
key
varchar(255) not null,
ts
bigint(20) not null,
bool_v
tinyint(1) default null,
str_v
varchar(255) default null,
long_v
bigint(20) default null,
dbl_v
double default null,
primary key (entity_type
,entity_id
,key
,ts
)
) engine=innodb default charset=utf8;
create table ts_kv_latest
(
entity_type
varchar(255) not null,
entity_id
varchar(31) not null,
key
varchar(255) not null,
ts
bigint(20) not null,
bool_v
tinyint(1) default null,
str_v
varchar(255) default null,
long_v
bigint(20) default null,
dbl_v
double default null,
primary key (entity_type
,entity_id
,key
)
) engine=innodb default charset=utf8;
create table user_credentials
(
id
varchar(31) not null,
activate_token
varchar(255) default null,
enabled
tinyint(1) default null,
password
varchar(255) default null,
reset_token
varchar(255) default null,
user_id
varchar(31) default null,
primary key (id
),
unique key activate_token
(activate_token
),
unique key reset_token
(reset_token
),
unique key user_id
(user_id
)
) engine=innodb default charset=utf8;
create table widget_type
(
id
varchar(31) not null,
alias
varchar(255) default null,
bundle_alias
varchar(255) default null,
descriptor
varchar(10000) default null,
name
varchar(255) default null,
tenant_id
varchar(31) default null,
primary key (id
)
) engine=innodb default charset=utf8;
create table widgets_bundle
(
id
varchar(31) not null,
alias
varchar(255) default null,
search_text
varchar(255) default null,
tenant_id
varchar(31) default null,
title
varchar(255) default null,
primary key (id
)
) engine=innodb default charset=utf8;
插入基础数据:
insert into admin_settings
(id
, json_value
, key
) values ('1e746126a2266e4a91992ebcb67fe33', '{\r\n \"baseurl\": \"\"\', 'general');
insert into user_credentials
(id
, activate_token
, enabled
, password
, reset_token
, user_id
) values ('1e7461261441950a91992ebcb67fe33', null, '1', '$2a$10$5jtb8/hxwc9way62ncgsxeefl3kwmipa9nfpvdda0/xfiseebb4bu', null, '1e746125a797660a91992ebcb67fe33');
insert into tb_user
(id
, additional_info
, authority
, customer_id
, email
, first_name
, last_name
, search_text
, tenant_id
) values ('1e746125a797660a91992ebcb67fe33', '{\"lastlogints\":1581066533969,\"failedloginattempts\":0}', 'sys_admin', '1b21dd2138140008080808080808080', 'sysadmin@thingsboard.org', null, null, 'sysadmin@thingsboard.org', '1b21dd2138140008080808080808080');