我的nacos版本是v2.2并部署在docker 上 我的数据库也是部署在docker 上,版本是5.7以下的版本 为我生成一份完整的nacos-config数据库的表生成sql代码 要求最终可以在nacos上添加配置成功,不会报发布失败的错误
时间: 2024-12-19 14:22:55 浏览: 2
由于Nacos Config数据库的具体结构会随着Nacos版本的变化而变化,但为了帮助你构建基本的表结构,这里提供一个假设Nacos v2.2版本数据库需要的基础表结构。请注意,这只是一个简化示例,实际生产环境中可能还需要其他辅助表如用户权限表等,并且你需要确认5.7版本的MySQL是否兼容这些SQL。
```sql
CREATE DATABASE IF NOT EXISTS nacos_config DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE nacos_config;
CREATE TABLE IF NOT EXISTS `config_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`group_id` varchar(255) NOT NULL COMMENT '配置组',
`data_id` varchar(255) NOT NULL COMMENT '配置ID',
`content` text NOT NULL COMMENT '配置内容',
`version` bigint(20) NOT NULL DEFAULT '1' COMMENT '版本号',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_group_data` (`group_id`, `data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `config_history` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`config_id` int(11) NOT NULL,
`group_id` varchar(255) NOT NULL,
`data_id` varchar(255) NOT NULL,
`content` text NOT NULL,
`version` bigint(20) NOT NULL,
`create_time` datetime NOT NULL,
`user_id` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`config_id`) REFERENCES `config_info`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `tenant_relation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) NOT NULL,
`parent_tenant_id` varchar(64) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uk_tenant_parent` (`tenant_id`, `parent_tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
阅读全文