在 Spring Boot 应用程序中,spring.datasource.platform
属性的作用是定义应用程序使用的数据库平台,从而决定如何解析和应用schema-${platform}.sql和data-${platform}.sql这样的脚本文件。
当需要针对不同数据库平台(如 MySQL、PostgreSQL、Oracle 等)运行特定的 SQL 脚本时,可以设置这个属性来区分它们。
例如,如果您有两个 SQL 脚本文件:
schema-mysql.sql
schema-postgresql.sql
在properties或yaml文件中设置:
spring.datasource.platform=mysql
那么只有schema-mysql.sql 文件会被用来初始化或更新数据库 schema;
如果设置为postgresql,则会应用schema-postgresql.sql。
这有助于确保针对不同数据库系统的兼容性,并避免在不支持的平台上运行无效的 SQL 语句。
默认情况下,spring.datasource.platform 的值被设置为all,这意味着所有可用的脚本都会被执行。如果你想根据实际部署的应用程序所连接的数据库类型来自动选择合适的脚本,则可以选择不设置这个属性。但是请注意,在这种情况下,需要确保脚本的名字以通用方式排序,从而让他们按照正确的时间顺序执行。