Nacos集成达梦数据库

本文介绍了Nacos集成达梦数据库的步骤。以Nacos 2.2.3为例,先获取Nacos源码,接着在父pom.xml添加dm8依赖,在nacos - config项目的pom文件做相应修改,变更相关类。然后修改nacos - datasource - plugin工程,打包获取tar包,最后修改conf/application.properties并给出达梦数据库SQL语句。

1.获取Nacos源码,下载源码可以查看官网。这里用Nacos2.2.3举例
2.在父pom.xml添加dm8依赖
在这里插入图片描述

<dameng.version>8.1.3.12</dameng.version>

<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>${derby.version}</version>
</dependency>
  1. 在nacos-config项目的pom文件中添加
    在这里插入图片描述
<dependency>
    <groupId>com.dameng</groupId>
    <artifactId>DmJdbcDriver18</artifactId>
</dependency>
  1. 变更ExternalDataSourceProperties类
    在这里插入图片描述
    在这里插入图片描述
# 在ExternalDataSourceProperties类中添加jdbcDriverName属性

private String jdbcDriverName;

public String getJdbcDriverName() {
   return jdbcDriverName;
}

public void setJdbcDriverName(String jdbcDriverName) {
   this.jdbcDriverName = jdbcDriverName;
}

# 修改ExternalDataSourceProperties类中的build方法
List<HikariDataSource> build(Environment environment, Callback<HikariDataSource> callback) {
    List<HikariDataSource> dataSources = new ArrayList<>();
    Binder.get(environment).bind("db", Bindable.ofInstance(this));
    Preconditions.checkArgument(Objects.nonNull(num), "db.num is null");
    Preconditions.checkArgument(CollectionUtils.isNotEmpty(user), "db.user or db.user.[index] is null");
    Preconditions.checkArgument(CollectionUtils.isNotEmpty(password), "db.password or db.password.[index] is null");
    for (int index = 0; index < num; index++) {
        int currentSize = index + 1;
        Preconditions.checkArgument(url.size() >= currentSize, "db.url.%s is null", index);
        DataSourcePoolProperties poolProperties = DataSourcePoolProperties.build(environment);
        if (StringUtils.isEmpty(poolProperties.getDataSource().getDriverClassName())) {
            if (StringUtils.isNotEmpty(jdbcDriverName)) {
                // 增加其他数据库驱动的支持
                poolProperties.setDriverClassName(jdbcDriverName);
            } else {
                //默认使用mysql驱动
                poolProperties.setDriverClassName(JDBC_DRIVER_NAME);
            }
        }
        poolProperties.setJdbcUrl(url.get(index).trim());
        poolProperties.setUsername(getOrDefault(user, index, user.get(0)).trim());
        poolProperties.setPassword(getOrDefault(password, index, password.get(0)).trim());
        HikariDataSource ds = poolProperties.getDataSource();
        if (StringUtils.isEmpty(ds.getConnectionTestQuery())) {
            ds.setConnectionTestQuery(TEST_QUERY);
        }
        dataSources.add(ds);
        callback.accept(ds);
    }
    Preconditions.checkArgument(CollectionUtils.isNotEmpty(dataSources), "no datasource available");
    return dataSources;
}


  1. 修改ExternalConfigInfoPersistServiceImpl类将DuplicateKeyException改为DataIntegrityViolationException
    在这里插入图片描述

在这里插入图片描述
6. 修改nacos-datasource-plugin工程
在这里插入图片描述

DataSourceConstant中添加public static final String DM = "dm";
  1. 在nacos-datasource-plugin下impl实现类创建dm包并将mysql下的所有类复制到dm下,并修改里面的数据源参数
    在这里插入图片描述
    在这里插入图片描述
  2. 在nacos-datasource-plugin下resource–>META-INF–>services–>com.alibaba.nacos.plugin.datasource.mapper.Mapper添加参数
    在这里插入图片描述
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoAggrMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoBetaMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigInfoTagMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.ConfigTagsRelationMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.HistoryConfigInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.TenantInfoMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.TenantCapacityMapperByDm
com.alibaba.nacos.plugin.datasource.impl.dm.GroupCapacityMapperByDm
  1. 打包
    在这里插入图片描述
    在这里插入图片描述
mvn -Prelease-nacos -Dmaven.test.skip=true -Dcheckstyle.skip=true clean install -U 
  1. nacos-distribution在target中可以看到nacos的包
    在这里插入图片描述
    我们就获取到对应的tar包,修改conf/application.properties
spring.datasource.platform=dm                                                                                                                                                                                                                                                                                                                                                                                                         
db.jdbcDriverName=dm.jdbc.driver.DmDriver                                                                                                                                                                                          
### Count of DB:                                                                                                                                                                                                                   
db.num=1                                                                                                                                                                                                                                                                                                                                                                                                                                                          
### Connect URL of DB:                                                                                                                                                                                                             
db.url.0=jdbc:dm://127.0.0.1:5236/NACOS_CONFIG                                                                                                                                                                                   
db.user=ROOT                                                                                                                                                                                                                     
db.password=ROOT

达梦数据库SQL语句

/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the License);
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/

CREATE TABLE CONFIG_INFO
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(255),
    CONTENT CLOB NOT NULL,
    MD5 VARCHAR(32),
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    SRC_USER TEXT,
    SRC_IP VARCHAR(50),
    APP_NAME VARCHAR(128),
    TENANT_ID VARCHAR(128) DEFAULT '',
    C_DESC VARCHAR(256),
    C_USE VARCHAR(64),
    EFFECT VARCHAR(64),
    TYPE VARCHAR(64),
    C_SCHEMA TEXT,
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_CONFIGINFO_DATAGROUPTENANT UNIQUE(DATA_ID, GROUP_ID, TENANT_ID));

COMMENT ON TABLE CONFIG_INFO IS 'config_info';
COMMENT ON COLUMN CONFIG_INFO.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO.SRC_IP IS 'source ip';
COMMENT ON COLUMN CONFIG_INFO.TENANT_ID IS '租户字段';


CREATE UNIQUE  INDEX INDEX16097400477400 ON CONFIG_INFO(ID ASC) ;

CREATE TABLE CONFIG_INFO_AGGR
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(255) NOT NULL,
    DATUM_ID VARCHAR(255) NOT NULL,
    CONTENT CLOB NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) NOT NULL,
    APP_NAME VARCHAR(128),
    TENANT_ID VARCHAR(128) DEFAULT '',
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM UNIQUE(DATA_ID, GROUP_ID, TENANT_ID, DATUM_ID));

COMMENT ON TABLE CONFIG_INFO_AGGR IS '增加租户字段';
COMMENT ON COLUMN CONFIG_INFO_AGGR.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.DATUM_ID IS 'datum_id';
COMMENT ON COLUMN CONFIG_INFO_AGGR.CONTENT IS '内容';
COMMENT ON COLUMN CONFIG_INFO_AGGR.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_AGGR.TENANT_ID IS '租户字段';


CREATE UNIQUE  INDEX INDEX16097305729100 ON CONFIG_INFO_AGGR(ID ASC);

CREATE TABLE CONFIG_INFO_BETA
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(128) NOT NULL,
    APP_NAME VARCHAR(128),
    CONTENT CLOB NOT NULL,
    BETA_IPS VARCHAR(1024),
    MD5 VARCHAR(32),
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    SRC_USER TEXT,
    SRC_IP VARCHAR(50),
    TENANT_ID VARCHAR(128) DEFAULT '',
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_CONFIGINFOBETA_DATAGROUPTENANT UNIQUE(DATA_ID, GROUP_ID, TENANT_ID));

COMMENT ON TABLE CONFIG_INFO_BETA IS 'config_info_beta';
COMMENT ON COLUMN CONFIG_INFO_BETA.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_BETA.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_BETA.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_BETA.APP_NAME IS 'app_name';
COMMENT ON COLUMN CONFIG_INFO_BETA.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO_BETA.BETA_IPS IS 'betaIps';
COMMENT ON COLUMN CONFIG_INFO_BETA.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO_BETA.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO_BETA.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_BETA.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO_BETA.SRC_IP IS 'source ip';
COMMENT ON COLUMN CONFIG_INFO_BETA.TENANT_ID IS '租户字段';


CREATE UNIQUE  INDEX INDEX16097203229000 ON CONFIG_INFO_BETA(ID ASC) ;

CREATE TABLE CONFIG_INFO_TAG
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(128) NOT NULL,
    TENANT_ID VARCHAR(128) DEFAULT '',
    TAG_ID VARCHAR(128) NOT NULL,
    APP_NAME VARCHAR(128),
    CONTENT CLOB NOT NULL,
    MD5 VARCHAR(32),
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    SRC_USER TEXT,
    SRC_IP VARCHAR(50),
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_CONFIGINFOTAG_DATAGROUPTENANTTAG UNIQUE(DATA_ID, GROUP_ID, TENANT_ID, TAG_ID)) ;

COMMENT ON TABLE CONFIG_INFO_TAG IS 'config_info_tag';
COMMENT ON COLUMN CONFIG_INFO_TAG.ID IS 'id';
COMMENT ON COLUMN CONFIG_INFO_TAG.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.TENANT_ID IS 'tenant_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.TAG_ID IS 'tag_id';
COMMENT ON COLUMN CONFIG_INFO_TAG.APP_NAME IS 'app_name';
COMMENT ON COLUMN CONFIG_INFO_TAG.CONTENT IS 'content';
COMMENT ON COLUMN CONFIG_INFO_TAG.MD5 IS 'md5';
COMMENT ON COLUMN CONFIG_INFO_TAG.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN CONFIG_INFO_TAG.GMT_MODIFIED IS '修改时间';
COMMENT ON COLUMN CONFIG_INFO_TAG.SRC_USER IS 'source user';
COMMENT ON COLUMN CONFIG_INFO_TAG.SRC_IP IS 'source ip';


CREATE UNIQUE  INDEX INDEX16096985471400 ON CONFIG_INFO_TAG(ID ASC)  ;

CREATE TABLE CONFIG_TAGS_RELATION
(
    ID BIGINT NOT NULL,
    TAG_NAME VARCHAR(128) NOT NULL,
    TAG_TYPE VARCHAR(64),
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(128) NOT NULL,
    TENANT_ID VARCHAR(128) DEFAULT '',
    NID BIGINT IDENTITY(1, 1) NOT NULL,
    NOT CLUSTER PRIMARY KEY(NID),
    CONSTRAINT UK_CONFIGTAGRELATION_CONFIGIDTAG UNIQUE(ID, TAG_NAME, TAG_TYPE)) ;

COMMENT ON TABLE CONFIG_TAGS_RELATION IS 'config_tag_relation';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.ID IS 'id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TAG_NAME IS 'tag_name';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TAG_TYPE IS 'tag_type';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.DATA_ID IS 'data_id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.GROUP_ID IS 'group_id';
COMMENT ON COLUMN CONFIG_TAGS_RELATION.TENANT_ID IS 'tenant_id';


CREATE  INDEX INDEX16096890650200 ON CONFIG_TAGS_RELATION(TENANT_ID ASC) ;
CREATE UNIQUE  INDEX INDEX16096909541100 ON CONFIG_TAGS_RELATION(NID ASC) ;

CREATE TABLE GROUP_CAPACITY
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    GROUP_ID VARCHAR(128) DEFAULT '' NOT NULL,
    QUOTA BIGINT DEFAULT 0 NOT NULL,
    USAGE BIGINT DEFAULT 0 NOT NULL,
    MAX_SIZE BIGINT DEFAULT 0 NOT NULL,
    MAX_AGGR_COUNT BIGINT DEFAULT 0 NOT NULL,
    MAX_AGGR_SIZE BIGINT DEFAULT 0 NOT NULL,
    MAX_HISTORY_COUNT BIGINT DEFAULT 0 NOT NULL,
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_GROUP_ID UNIQUE(GROUP_ID),
    CHECK(QUOTA >= 0)
    ,CHECK(USAGE >= 0)
    ,CHECK(MAX_SIZE >= 0)
    ,CHECK(MAX_AGGR_COUNT >= 0)
    ,CHECK(MAX_AGGR_SIZE >= 0)
    ,CHECK(MAX_HISTORY_COUNT >= 0)) ;

COMMENT ON TABLE GROUP_CAPACITY IS '集群、各Group容量信息表';
COMMENT ON COLUMN GROUP_CAPACITY.ID IS '主键ID';
COMMENT ON COLUMN GROUP_CAPACITY.GROUP_ID IS 'Group ID,空字符表示整个集群';
COMMENT ON COLUMN GROUP_CAPACITY.QUOTA IS '配额,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.USAGE IS '使用量';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_SIZE IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_AGGR_COUNT IS '聚合子配置最大个数,,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_AGGR_SIZE IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN GROUP_CAPACITY.MAX_HISTORY_COUNT IS '最大变更历史数量';
COMMENT ON COLUMN GROUP_CAPACITY.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN GROUP_CAPACITY.GMT_MODIFIED IS '修改时间';


CREATE UNIQUE  INDEX INDEX16096746763900 ON GROUP_CAPACITY(ID ASC) ;

CREATE TABLE HIS_CONFIG_INFO
(
    ID BIGINT NOT NULL,
    NID BIGINT IDENTITY(1, 1) NOT NULL,
    DATA_ID VARCHAR(255) NOT NULL,
    GROUP_ID VARCHAR(128) NOT NULL,
    APP_NAME VARCHAR(128),
    CONTENT CLOB NOT NULL,
    MD5 VARCHAR(32),
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    SRC_USER TEXT,
    SRC_IP VARCHAR(50),
    OP_TYPE CHAR(10),
    TENANT_ID VARCHAR(128) DEFAULT '',
    NOT CLUSTER PRIMARY KEY(NID)) ;

COMMENT ON TABLE HIS_CONFIG_INFO IS '多租户改造';
COMMENT ON COLUMN HIS_CONFIG_INFO.APP_NAME IS 'app_name';
COMMENT ON COLUMN HIS_CONFIG_INFO.TENANT_ID IS '租户字段';


CREATE  INDEX IDX_GMT_CREATE ON HIS_CONFIG_INFO(GMT_CREATE ASC) ;
CREATE  INDEX IDX_DID ON HIS_CONFIG_INFO(DATA_ID ASC) ;
CREATE  INDEX IDX_GMT_MODIFIED ON HIS_CONFIG_INFO(GMT_MODIFIED ASC) ;
CREATE UNIQUE  INDEX INDEX16096449256900 ON HIS_CONFIG_INFO(NID ASC)  ;

CREATE TABLE PERMISSIONS
(
    ROLE VARCHAR(50) NOT NULL,
    RESOURCE VARCHAR(255) NOT NULL,
    ACTION VARCHAR(8) NOT NULL,
    CONSTRAINT UK_ROLE_PERMISSION UNIQUE(ROLE, RESOURCE, ACTION)) ;

CREATE TABLE ROLES
(
    USERNAME VARCHAR(50) NOT NULL,
    ROLE VARCHAR(50) NOT NULL,
    CONSTRAINT IDX_USER_ROLE UNIQUE(USERNAME, ROLE))  ;

CREATE TABLE TENANT_CAPACITY
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    TENANT_ID VARCHAR(128) DEFAULT '' NOT NULL,
    QUOTA BIGINT DEFAULT 0 NOT NULL,
    USAGE BIGINT DEFAULT 0 NOT NULL,
    MAX_SIZE BIGINT DEFAULT 0 NOT NULL,
    MAX_AGGR_COUNT BIGINT DEFAULT 0 NOT NULL,
    MAX_AGGR_SIZE BIGINT DEFAULT 0 NOT NULL,
    MAX_HISTORY_COUNT BIGINT DEFAULT 0 NOT NULL,
    GMT_CREATE TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    GMT_MODIFIED TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL,
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_TENANT_ID UNIQUE(TENANT_ID),
    CHECK(QUOTA >= 0)
    ,CHECK(USAGE >= 0)
    ,CHECK(MAX_SIZE >= 0)
    ,CHECK(MAX_AGGR_COUNT >= 0)
    ,CHECK(MAX_AGGR_SIZE >= 0)
    ,CHECK(MAX_HISTORY_COUNT >= 0))  ;

COMMENT ON TABLE TENANT_CAPACITY IS '租户容量信息表';
COMMENT ON COLUMN TENANT_CAPACITY.ID IS '主键ID';
COMMENT ON COLUMN TENANT_CAPACITY.TENANT_ID IS 'Tenant ID';
COMMENT ON COLUMN TENANT_CAPACITY.QUOTA IS '配额,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.USAGE IS '使用量';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_SIZE IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_AGGR_COUNT IS '聚合子配置最大个数';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_AGGR_SIZE IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN TENANT_CAPACITY.MAX_HISTORY_COUNT IS '最大变更历史数量';
COMMENT ON COLUMN TENANT_CAPACITY.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN TENANT_CAPACITY.GMT_MODIFIED IS '修改时间';


CREATE UNIQUE  INDEX INDEX16096046055000 ON TENANT_CAPACITY(ID ASC)  ;

CREATE TABLE TENANT_INFO
(
    ID BIGINT IDENTITY(1, 1) NOT NULL,
    KP VARCHAR(128) NOT NULL,
    TENANT_ID VARCHAR(128) DEFAULT '',
    TENANT_NAME VARCHAR(128) DEFAULT '',
    TENANT_DESC VARCHAR(256),
    CREATE_SOURCE VARCHAR(32),
    GMT_CREATE BIGINT NOT NULL,
    GMT_MODIFIED BIGINT NOT NULL,
    NOT CLUSTER PRIMARY KEY(ID),
    CONSTRAINT UK_TENANT_INFO_KPTENANTID UNIQUE(KP, TENANT_ID)) ;

COMMENT ON TABLE TENANT_INFO IS 'tenant_info';
COMMENT ON COLUMN TENANT_INFO.ID IS 'id';
COMMENT ON COLUMN TENANT_INFO.KP IS 'kp';
COMMENT ON COLUMN TENANT_INFO.TENANT_ID IS 'tenant_id';
COMMENT ON COLUMN TENANT_INFO.TENANT_NAME IS 'tenant_name';
COMMENT ON COLUMN TENANT_INFO.TENANT_DESC IS 'tenant_desc';
COMMENT ON COLUMN TENANT_INFO.CREATE_SOURCE IS 'create_source';
COMMENT ON COLUMN TENANT_INFO.GMT_CREATE IS '创建时间';
COMMENT ON COLUMN TENANT_INFO.GMT_MODIFIED IS '修改时间';


CREATE  INDEX IDX_TENANT_ID ON TENANT_INFO(TENANT_ID ASC) ;
CREATE UNIQUE  INDEX INDEX16095846853300 ON TENANT_INFO(ID ASC)  ;

CREATE TABLE USERS
(
    USERNAME VARCHAR(50) NOT NULL,
    PASSWORD VARCHAR(500) NOT NULL,
    ENABLED TINYINT NOT NULL,
    NOT CLUSTER PRIMARY KEY(USERNAME))  ;


INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

commit;

在这里插入图片描述

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值