【发布时间】:2020-05-08 07:40:23
【问题描述】:
我的 SQL Server 数据库有 liquibase 变更集,就像这样
<changeSet author="diff-generated" id="1579082307417-3">
<sql>
alter table UsersRoles
add Id int identity
</sql>
</changeSet>
<changeSet author="diff-generated" id="1579082307417-4">
<sql>
alter table UsersRoles
add constraint UsersRoles_pk
primary key nonclustered(Id)
</sql>
</changeSet>
当我在我的 SQL Server 上运行带有 liquibase 的应用程序时,它可以工作。
但我正在尝试通过 test 运行相同的操作 - 我遇到了错误。其他变更集执行完美。
原因:org.h2.jdbc.JdbcSQLSyntaxErrorException: 语法错误 SQL 语句“ALTER TABLE USERSROLES 添加约束用户ROLES_PK PRIMARY KEY NONCLUSTERED[*] (ID) "; 预期 "HASH, ("; SQL 语句:alter table UsersRoles 添加约束 UsersRoles_pk 主键非聚集 (Id) [42001-199]
测试中 liquibase 的设置是
changeLogFile=classpath:/liquibase/database-changelog.xml
url=jdbc:h2:mem:testDb;MODE=MSSQLServer
username=SA
password=
driver=org.h2.Driver
我尝试将驱动程序更改为 SQL Server 驱动程序,但这不起作用。 可能是什么问题?
【问题讨论】:
标签: java sql-server h2 liquibase