[Serie de primavera] Inicialización de la base de datos

fondo

Recientemente, durante la inicialización de la base de datos de configuración, se encontró

  sql:
    init:
      schema-locations: classpath:db/schema.sql
      data-locations: classpath:db/data.sql
      username: sa
      password:

La búsqueda de información en Internet es similar, y todas son información inútil, por lo que decidí estudiar la inicialización de la base de datos por mi cuenta. Entonces hay lo siguiente.

Observaciones:
Para resolver el problema de que la base de datos no se puede inicializar correctamente, la configuración de la base de datos ha cambiado. Para más detalles, consulte

	private static List<String> scriptLocations(List<String> locations, String fallback, String platform) {
		if (locations != null) {
			return locations;
		}
		List<String> fallbackLocations = new ArrayList<>();
		fallbackLocations.add("optional:classpath*:" + fallback + "-" + platform + ".sql");
		fallbackLocations.add("optional:classpath*:" + fallback + ".sql");
		return fallbackLocations;
	}

Obviamente, cuando la configuración es incorrecta, el valor predeterminado es desde el classpath

optional:classpath*:" + fallback + "-" + platform + ".sql"
"optional:classpath*:" + fallback + ".sql"

Obtener datos, y la reserva son datos o esquemas, y la plataforma lo es todo.

Por lo tanto, la configuración correcta debe ser

spring:
  datasource:
    schema: classpath:/db/table.sql;/db/table1.sql
    data: classpath:/db/data.sql
    data-username: sa
    schema-username: sa
    schema-password:
    data-password:
    initialization-mode: always

Entre ellos, el modo de inicialización debe ser siempre

configuración

Propiedades de origen de datos

Inicialización de la fuente de datos

AbstractScriptDatabaseInitializer
DataSourceScriptDatabaseInitializer
R2dbcScriptDatabaseInitializer

Configuración relacionada con H2

H2ConsoleConfiguración automática
H2ConsoleProperties

Supongo que te gusta

Origin blog.csdn.net/wenxueliu/article/details/131872893
Recomendado
Clasificación