h2从1.4.200升级到2.1.212

简介: h2从1.4.200升级到2.1.212

鲸落海底,哺暗界众生十五年。——加里·斯奈德

如果直接修改GAV版本号

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.212</version>
</dependency>


你会获得一堆报错

下面是我的ddl

drop table if exists user_info;
create table if not exists user_info(
    id    BIGINT(20) AUTO_INCREMENT NOT NULL COMMENT '主键ID',
    name  VARCHAR(30)               NULL DEFAULT NULL COMMENT '姓名',
    age   INT(11)                   NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50)               NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);
drop table if exists user_role;
create table if not exists user_role(
    id      BIGINT(20) AUTO_INCREMENT NOT NULL COMMENT '主键ID',
    user_id BIGINT(20)                NULL DEFAULT NULL COMMENT '用户ID',
    role_id BIGINT(20)                NULL DEFAULT NULL COMMENT '角色ID',
    PRIMARY KEY (id)
);
drop table if exists role_info;
create table if not exists role_info(
    id        BIGINT(20) AUTO_INCREMENT NOT NULL COMMENT '主键ID',
    role_name VARCHAR(30)               NULL DEFAULT NULL COMMENT '角色名称',
    PRIMARY KEY (id)
);

需要修改为:

drop table if exists user_info;
create table if not exists user_info
(
    id    BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL COMMENT '主键ID',
    name  VARCHAR(30)                             NULL DEFAULT NULL COMMENT '姓名',
    age   INT                                     NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50)                             NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);
drop table if exists user_role;
create table if not exists user_role
(
    id      BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL COMMENT '主键ID',
    user_id BIGINT                                  NULL DEFAULT NULL COMMENT '用户ID',
    role_id BIGINT                                  NULL DEFAULT NULL COMMENT '角色ID',
    PRIMARY KEY (id)
);
drop table if exists role_info;
create table if not exists role_info
(
    id        BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL COMMENT '主键ID',
    role_name VARCHAR(30)                             NULL DEFAULT NULL COMMENT '角色名称',
    PRIMARY KEY (id)
);

然后是初始化数据,自增的话,就不要再传入id

原先的:

DELETE
FROM user_info;
INSERT INTO user_info (id, name, age, email)
VALUES (1, 'Jone', 18, 'test1@baomidou.com'),
       (2, 'Jack', 18, 'test2@baomidou.com'),
       (3, 'Tom', 28, 'test3@baomidou.com'),
       (4, 'Sandy', 21, 'test4@baomidou.com'),
       (5, 'Billie', 24, 'test5@baomidou.com');
DELETE
FROM user_role;
INSERT INTO user_role (id, user_id, role_id)
VALUES (1, 1, 1),
       (2, 1, 2),
       (3, 2, 1),
       (4, 2, 3),
       (5, 3, 1),
       (6, 4, 1),
       (7, 4, 2),
       (8, 5, 1),
       (9, 5, 2),
       (10, 5, 3);
DELETE
FROM role_info;
INSERT INTO role_info (id, role_name)
VALUES (1, 'admin'),
       (2, 'user'),
       (3, 'guest');

修改后:

DELETE
FROM user_info;
INSERT INTO user_info (name, age, email)
VALUES ('Jone', 18, 'test1@baomidou.com'),
       ('Jack', 18, 'test2@baomidou.com'),
       ('Tom', 28, 'test3@baomidou.com'),
       ('Sandy', 21, 'test4@baomidou.com'),
       ('Billie', 24, 'test5@baomidou.com');
DELETE
FROM user_role;
INSERT INTO user_role (user_id, role_id)
VALUES (1, 1),
       (1, 2),
       (2, 1),
       (2, 3),
       (3, 1),
       (4, 1),
       (4, 2),
       (5, 1),
       (5, 2),
       (5, 3);
DELETE
FROM role_info;
INSERT INTO role_info (role_name)
VALUES ('admin'),
       ('user'),
       ('guest');

成功运行

相关文章
|
26天前
|
测试技术
升级电脑内存
升级电脑内存
44 2
|
3月前
服务器如何升级
轻量云服务器提供高效灵活的计算服务。当需要更多存储空间时,用户可以轻松升级硬盘。无需停机,几步操作即可完成扩容,有效提升运行效率与承载能力,满足业务发展的需求。
|
3月前
|
Android开发 图形学 UED
软件升级相关
软件升级相关
56 0
|
6月前
ahf 升级
ahf 升级
51 0
|
6月前
|
Ubuntu 网络协议 Linux
Ubuntu系统升级16.04升级18.04
Ubuntu系统升级16.04升级18.04
354 0
|
11月前
|
Kubernetes Cloud Native Perl
k8s 如何升级应用
k8s 如何升级应用
107 1
|
测试技术 开发者
Guitarpro 8.1升级版本全新的简谱功能介绍
Guitarpro 8.1版本中,已成功推出全新的简谱功能!Guitar Pro是一款非常流行的音乐制谱软件,它支持各种乐器的制谱。在思杰马克丁引入这款软件之后,为它专门定制了中文版,并针对中国用户重新定价。GuitarPro经过5年研发,于2022年发布了全新的8系列版本。在不到1年的时间内,Guitar Pro又增加了广大中国用户期盼已久的简谱功能。
471 0
|
SpringCloudAlibaba
这本书又又又升级了!!
大家好,我是冰河~~ 之前很多小伙伴都在跟我说:网上关于SpringCloud Alibaba的技术不是很系统,也不是很全面,问我如何系统的学习SpringCloud Alibaba技术,于是乎,我便在 「冰河技术」 公号中连载了《SpringCloud Alibaba实战》专栏。整个专栏分为十大篇章,共26个章节。 为了更加方便大家学习SpringCloud Alibaba技术,我将《SpringCloud Alibaba实战》整个专栏的26篇文章整理成了PDF电子书。小伙伴们可以先拉到文末直接查看获取电子书的方式,然后再回来听我唠叨。
112 0
这本书又又又升级了!!
|
数据安全/隐私保护 芯片 开发者
[升级]DSLogic基础版手动升级为Plus版本
[升级]DSLogic基础版手动升级为Plus版本
612 0
[升级]DSLogic基础版手动升级为Plus版本
关于ArcoWork和AdminWork两个版本的升级说明
关于ArcoWork和AdminWork两个版本的升级说明