在我的 spring 引导项目中包含 liqubase,但仍在执行 data.sql 并失败
Included liqubase in my spring boot project, but still executing data.sql and failing
我的 spring 引导项目中有 data.sql 文件,其中包含数据库的初始数据。当系统第一次启动时,这些记录应该在数据库中生成,之后如果已经在数据库中则应该忽略它。这是我的目标,所以我在我的项目中加入了 liqubase。但是,它的行为并不像我预期的那样,spring 尝试在每次启动时执行 sql,如果数据存在则失败。这可以用 liqubase 完成吗?如果可以,我应该具体寻找什么配置?
data.sql
每次都会 运行,不管你有没有 liquibase。你可以在这里做两件事。
将您的 sql 插入从 data.sql
移动到 liquibase
变更集升级。 How?
在 data.sql
中写入您的 sql 插入,如果条目已经存在,它们将忽略。
如果你有:-
INSERT INTO users (id, name) VALUES (1005201,'dave')
您可以将其更改为:-
INSERT IGNORE INTO users (id, name) VALUES (1005201,'dave')
我的 spring 引导项目中有 data.sql 文件,其中包含数据库的初始数据。当系统第一次启动时,这些记录应该在数据库中生成,之后如果已经在数据库中则应该忽略它。这是我的目标,所以我在我的项目中加入了 liqubase。但是,它的行为并不像我预期的那样,spring 尝试在每次启动时执行 sql,如果数据存在则失败。这可以用 liqubase 完成吗?如果可以,我应该具体寻找什么配置?
data.sql
每次都会 运行,不管你有没有 liquibase。你可以在这里做两件事。
将您的 sql 插入从
data.sql
移动到liquibase
变更集升级。 How?在
data.sql
中写入您的 sql 插入,如果条目已经存在,它们将忽略。
如果你有:-
INSERT INTO users (id, name) VALUES (1005201,'dave')
您可以将其更改为:-
INSERT IGNORE INTO users (id, name) VALUES (1005201,'dave')