Spring 考虑 application.properties 的预加载数据的数据最佳实践
Spring data best practice for preload data that considers application.properties
在我的 spring 数据项目中,有些数据我更喜欢用 data.sql
填充。它们是图像资源、图标和徽标之类的东西。
我的项目有两个 application.properties
。一个用于本地开发,另一个用于在具有不同 server.adress
的主服务器上发布
我的问题是 data.sql
无法从属性导入变量:
INSERT INTO sticker_table( sticker_type, sticker_img_url , free_sticker) values (1,'http://192.168.34.24:8085/public/ic_avator_boy_1.png',true)
我无法从 data.sql
中选择的属性中考虑 server.address
。我要 http://192.168.34.24:8085 for develop server and http://192.168.24.250:8080 发布。
那么我如何考虑 data.sql 中的 application.properties 变量,或者是否有更好的方法在起点处填充服务器数据?
According to the spring-data-jpa documentation,您可以将 data-${platform}.sql
添加到您的 spring 启动项目。您可以使用它来区分本地服务器和远程服务器之间的差异 data-local.sql
和 data-remote.sql
。完成后,您可以按如下方式控制要加载的文件...
java -jar -Dspring.datasource.platform=local application.jar
或
java -jar application.jar --spring.datasource.platform=remote
在我的 spring 数据项目中,有些数据我更喜欢用 data.sql
填充。它们是图像资源、图标和徽标之类的东西。
我的项目有两个 application.properties
。一个用于本地开发,另一个用于在具有不同 server.adress
的主服务器上发布
我的问题是 data.sql
无法从属性导入变量:
INSERT INTO sticker_table( sticker_type, sticker_img_url , free_sticker) values (1,'http://192.168.34.24:8085/public/ic_avator_boy_1.png',true)
我无法从 data.sql
中选择的属性中考虑 server.address
。我要 http://192.168.34.24:8085 for develop server and http://192.168.24.250:8080 发布。
那么我如何考虑 data.sql 中的 application.properties 变量,或者是否有更好的方法在起点处填充服务器数据?
According to the spring-data-jpa documentation,您可以将 data-${platform}.sql
添加到您的 spring 启动项目。您可以使用它来区分本地服务器和远程服务器之间的差异 data-local.sql
和 data-remote.sql
。完成后,您可以按如下方式控制要加载的文件...
java -jar -Dspring.datasource.platform=local application.jar
或
java -jar application.jar --spring.datasource.platform=remote