We should probably not have batch.initializer.enabled and datasource.initialize reference the same variable.  I think since we are using 'spring.datasource.initialize' to enable the execution of <jdbc:initialize-database in order to create job registry tables (batch related), I think we can switch all of those <jdbc:initialize-database/> references to be based off batch.initializer.endabled since it is directly related to batch specific schema.  If the batch database schema is created then we must also create the job registry tables.

Better yet, I think we can simplify this even more.  We can use the same approach as batch itself for loading the schema, so we could create our own variation of https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/BatchDatabaseInitializer.java to load the Job Registry tables.  This would also mean we don't need to have profiles based on the database, everything would be driven from the database URL and that would make things much easier to manage overall.  We also don't need to have XD_DATASOURCE_INIT.

Let's discuss this since it would would effect the current way we describe how to configure the servers for different databases in the docs.  

This will keep spring.datasource.initialize with the same meaning as a standard boot application, to load schema.sql/data.sql and nothing more.