我的spring boot项目中有data.sql文件,其中包含db的初始数据。当系统第一次启动时,应该在db中生成这些记录,之后如果已经在db中则应该忽略它们。这是我的目标,所以我在我的项目中包含了liqubase。但是,它的行为并不像我预期的那样,spring尝试在每次启动时执行sql,如果数据存在则会失败。这可以用liqubase完成,如果是的话,我应该具体查找什么配置?
答案 0 :(得分:3)
data.sql
每次都会运行。你可以在这做两件事。
将您的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')