Spring 和 H2 迁移
Spring and H2 migrations
我想将我的 H2 数据库从我以前的应用程序(没有 Spring)迁移到新应用程序(有 Spring)。
有人告诉我,我需要做的就是 copy/paste,我的迁移,所以我做了,不幸的是,当我尝试 运行 应用程序时,我得到了这个 ↓
它说有一些语法错误,但我用以前的应用程序启动这个数据库没有错误:
SQL 语句中的语法错误“CREATE TABLE LANGUAGES (
ID INT 无符号主键 AUTO_INCREMENT,
WELCOMEMSG VARCHAR(100) NOT NULL,
代码 VARCHAR(3),
)[*]”;预期 "identifier";SQL 声明:
创建 table 种语言(
id int 无符号主键 auto_increment,
welcomeMsg varchar(100) 不为空,
代码 varchar(3),
) [42001-200]
位置 : db/migration/V1__Create_languages_table.sql (C:\Users\ja\Downloads\hello
(1)\hello\target\classes\db\migration\V1__Create_languages_table.sql)
行:1
声明:创建 table 种语言(
id int 无符号主键 auto_increment,
welcomeMsg varchar(100) 不为空,
代码 varchar(3),
)
只是为了确保,有问题的代码
create table languages (
id int unsigned primary key auto_increment,
welcomeMsg varchar(100) not null,
code varchar(3),
);
我只是Java/programming的初学者,这对我来说有点陌生。非常感谢任何帮助
您需要删除右括号前的无效逗号;它不再被 H2 默默地忽略,只有旧版本的 H2 才能解析它。 1.4.200 更严格。
我还建议您删除 UNSIGNED
修饰符,1.4.201 将不允许在常规模式下使用它。它只会在 MySQL 兼容模式下被接受(并且被忽略,就像在 1.4.200 中一样)。
我想将我的 H2 数据库从我以前的应用程序(没有 Spring)迁移到新应用程序(有 Spring)。
有人告诉我,我需要做的就是 copy/paste,我的迁移,所以我做了,不幸的是,当我尝试 运行 应用程序时,我得到了这个 ↓
SQL 语句中的语法错误“CREATE TABLE LANGUAGES (
ID INT 无符号主键 AUTO_INCREMENT,
WELCOMEMSG VARCHAR(100) NOT NULL,
代码 VARCHAR(3),
)[*]”;预期 "identifier";SQL 声明:
创建 table 种语言(
id int 无符号主键 auto_increment,
welcomeMsg varchar(100) 不为空,
代码 varchar(3),
) [42001-200]
位置 : db/migration/V1__Create_languages_table.sql (C:\Users\ja\Downloads\hello
(1)\hello\target\classes\db\migration\V1__Create_languages_table.sql)
行:1
声明:创建 table 种语言(
id int 无符号主键 auto_increment,
welcomeMsg varchar(100) 不为空,
代码 varchar(3),
)
只是为了确保,有问题的代码
create table languages (
id int unsigned primary key auto_increment,
welcomeMsg varchar(100) not null,
code varchar(3),
);
我只是Java/programming的初学者,这对我来说有点陌生。非常感谢任何帮助
您需要删除右括号前的无效逗号;它不再被 H2 默默地忽略,只有旧版本的 H2 才能解析它。 1.4.200 更严格。
我还建议您删除 UNSIGNED
修饰符,1.4.201 将不允许在常规模式下使用它。它只会在 MySQL 兼容模式下被接受(并且被忽略,就像在 1.4.200 中一样)。