【发布时间】:2016-01-23 06:26:08
【问题描述】:
我的 flyway 和 spring-boot 工作正常,但我似乎无法正确连接我的 spring.datasource.data。
如果我有一个文件src/main/resources/db/seeds/one_project.sql。我在application.properties 文件中尝试了以下内容。
# fully qualified path
spring.datasource.data=file:///fully/qualified/path/db/seeds/one_project.sql
# classpath specific
spring.datasource.data=classpath:/db/seeds/one_project.sql
# relative path
spring.datasource.data=/db/seeds/one_project.sql
我唯一能真正开始工作的就是将one_project.sql复制到src/main/resources/schema.sql(即使复制到src/main/resources/data.sql也行不通。
我在文档中完全遗漏了什么吗?
我一直在关注文档here。
提前感谢您的帮助!
【问题讨论】:
-
迁移脚本的默认位置是 'src/resources/db/migration' 目录。来自 FlywayProperties 类。
/** * Locations of migrations scripts. */ private List<String> locations = Arrays.asList("db/migration"); -
其实 Flyway 在这里是错误的标签,因为你不使用任何 Flyway 功能,如果你想按照你描述的方式导入数据。这是简单的 Spring JDBC 数据库初始化。
-
我删除了 Flyway 标签。 @AntonNovopashin 我的迁移工作正常,这是关于播种数据,而不是迁移架构。我想给它一些初始数据
-
@Alex 您可以使用 Flyway/Liquibase 加载初始数据。
-
@AntonNovopashin 我希望 flyway 管理我的迁移,以便当我部署到 prod 时它会迁移架构,但我不想在部署时放置假数据。我想要一个单独的 SQL 脚本,可以在开发环境中使用,但不能在生产环境中使用
标签: spring-boot