-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nacos2.0.2升级到2.2.0数据库发生变化,数据无法迁移 #10639
Comments
目前没有相关工具,建议人工解决表差异后进行升级。 |
可以添加一个默认值给encrypted_data_key,比如default ''。 |
BLOB, TEXT, GEOMETRY or JSON column can't have a default value if mysql in STRICT_TRANS_TABLES sql_mode, and STRICT_TRANS_TABLES is the default mode for mysql |
首先代码对于不需要加密的给的值是 |
感觉也是,但是现在确实也是 |
我觉得应该还好, 正常使用不会有差很多的情况,实在不行就varchar(1024),主要是要让升级的用户没那么难受。同时尽量兼容。 如果现在用户使用的已经是text了,那可以选择不变。 |
这个新增的字段是 |
NOT NULL 去掉影响可能比较大, 代码中大量用到这个字段,哪里如果没有做好处理就会NPE。 相对来说,改为varchar(1024)的影响会更小,这个字段主要存储的是加解密用的key或者token, 一般不会太长。 |
nacos2.0.2数据库表
CREATE TABLE
his_config_info
(id
bigint(64) unsigned NOT NULL,nid
bigint(20) unsigned NOT NULL AUTO_INCREMENT,data_id
varchar(255) NOT NULL,group_id
varchar(128) NOT NULL,app_name
varchar(128) DEFAULT NULL COMMENT 'app_name',content
longtext NOT NULL,md5
varchar(32) DEFAULT NULL,gmt_create
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,src_user
text,src_ip
varchar(50) DEFAULT NULL,op_type
char(10) DEFAULT NULL,tenant_id
varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (
nid
),KEY
idx_gmt_create
(gmt_create
),KEY
idx_gmt_modified
(gmt_modified
),KEY
idx_did
(data_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
nacos2.2.0数据库表
CREATE TABLE
his_config_info
(id
bigint(20) unsigned NOT NULL, #更新字段nid
bigint(20) unsigned NOT NULL AUTO_INCREMENT,data_id
varchar(255) NOT NULL,group_id
varchar(128) NOT NULL,app_name
varchar(128) DEFAULT NULL COMMENT 'app_name',content
longtext NOT NULL,md5
varchar(32) DEFAULT NULL,gmt_create
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,gmt_modified
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,src_user
text,src_ip
varchar(50) DEFAULT NULL,op_type
char(10) DEFAULT NULL,tenant_id
varchar(128) DEFAULT '' COMMENT '租户字段',encrypted_data_key
text NOT NULL COMMENT '秘钥', ##新增字段PRIMARY KEY (
nid
),KEY
idx_gmt_create
(gmt_create
),KEY
idx_gmt_modified
(gmt_modified
),KEY
idx_did
(data_id
)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
版本升级一共有3张表发生了变化
由于新增字段不为null,旧的语句无法插入?官方是否有数据迁移的工具或脚本?
The text was updated successfully, but these errors were encountered: