2017-08-16 94 views
0

我在使用Spring引导,Spring Data JPA和postgres的项目上工作。有一个无法解决的问题。Spring Boot Application在运行时添加数据源?

当我的应用程序启动时,数据库还没有准备好。它需要在运行时添加到应用程序中。但我也想用JPA初始化一个数据库。 就像spring.jpa.hibernate.ddl-auto:create-drop,不幸的是,使用JPA初始化数据库将在应用程序启动时发生。

我的问题是如何延迟jpa DDL生成spring数据jpa。现在我们不能在应用程序运行时添加数据源。

我在网上搜索了很长时间。但没用。 AbstractRoutingDataSource可能不适合我们,因为我们在开始时没有数据源。 请帮助或试图给一些想法如何实现这一

在此先感谢,因为它需要预配置数据源

+0

你说的是生产? –

+0

@AmerQarabsa对不起,我不明白你的意思 – tanghuailong

+0

你为什么要延迟创建数据库? –

回答

0

AbstractRoutingDataSource是没有用的。 只是检查this stackoverflow问题,它显示了如何在运行时添加/删除数据源。虽然它不支持hibernate的延迟ddl创建,但您可以使用schema.sql在运行时数据源中创建数据库表,并使用data.sql插入一些常量。

相关问题