我Spring-Boot
用于的应用程序hibernate.hbm2ddl.=update
。
如何确保在启动时执行sql脚本?因此,我想确保atFUNCTION .. LANGUAGE plpgsql
在我的postgresql
数据库中。
通过使用XML。
<jdbc:initialize-database data-source="dataSource">
<jdbc:script location="classpath:com/foo/sql/db-schema.sql"/>
<jdbc:script location="classpath:com/foo/sql/db-test-data.sql"/>
</jdbc:initialize-database>
通过使用注释(下面的示例应该放在您的@Configuration
类中)
@Value("classpath:com/foo/sql/db-schema.sql")
private Resource schemaScript;
@Value("classpath:com/foo/sql/db-test-data.sql")
private Resource dataScript;
@Bean
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
final DataSourceInitializer initializer = new DataSourceInitializer();
initializer.setDataSource(dataSource);
initializer.setDatabasePopulator(databasePopulator());
return initializer;
}
private DatabasePopulator databasePopulator() {
final ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
populator.addScript(schemaScript);
populator.addScript(dataScript);
return populator;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句