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');

成功运行

相关文章
|
2月前
ahf 升级
ahf 升级
18 0
|
2月前
|
Ubuntu 网络协议 Linux
Ubuntu系统升级16.04升级18.04
Ubuntu系统升级16.04升级18.04
37 0
|
7月前
|
Kubernetes Cloud Native Perl
k8s 如何升级应用
k8s 如何升级应用
|
测试技术 开发者
Guitarpro 8.1升级版本全新的简谱功能介绍
Guitarpro 8.1版本中,已成功推出全新的简谱功能!Guitar Pro是一款非常流行的音乐制谱软件,它支持各种乐器的制谱。在思杰马克丁引入这款软件之后,为它专门定制了中文版,并针对中国用户重新定价。GuitarPro经过5年研发,于2022年发布了全新的8系列版本。在不到1年的时间内,Guitar Pro又增加了广大中国用户期盼已久的简谱功能。
405 0
|
SpringCloudAlibaba
这本书又又又升级了!!
大家好,我是冰河~~ 之前很多小伙伴都在跟我说:网上关于SpringCloud Alibaba的技术不是很系统,也不是很全面,问我如何系统的学习SpringCloud Alibaba技术,于是乎,我便在 「冰河技术」 公号中连载了《SpringCloud Alibaba实战》专栏。整个专栏分为十大篇章,共26个章节。 为了更加方便大家学习SpringCloud Alibaba技术,我将《SpringCloud Alibaba实战》整个专栏的26篇文章整理成了PDF电子书。小伙伴们可以先拉到文末直接查看获取电子书的方式,然后再回来听我唠叨。
这本书又又又升级了!!
|
数据安全/隐私保护 芯片 开发者
[升级]DSLogic基础版手动升级为Plus版本
[升级]DSLogic基础版手动升级为Plus版本
569 0
[升级]DSLogic基础版手动升级为Plus版本
关于ArcoWork和AdminWork两个版本的升级说明
关于ArcoWork和AdminWork两个版本的升级说明
|
测试技术 数据库
手动升级 Confluence - 规划你的升级
1. 确定你的升级路径 使用下面的表格来确定最佳的升级路径来让你的Confluence 从当前版本升级到最新的 Confluence 版本。 你的版本 推荐升级到 Confluence 的升级路径 2.7 或者更早 升级到 2.7.4 然后升级到 3.5.17,然后按照下面的升级路径。
1211 0
|
存储 缓存 数据库
|
Shell
Kossel 升级记 - 速度、速度还是速度
当刚刚学会使用3D打印软件(slicing software)去设定3D打印速度時,初学者通常只学习设定Print Speed 和 Travel Speed 这两种基本打印速度设置。
1309 0