Springboot数据库初始化

发布于 2025-01-11 13:32:46 字数 178 浏览 0 评论 0原文

据我从 Spring Reference 文档中了解到,我们可以使用 data.sql 和 schema.sql 文件来初始化数据库。

当应用程序的多个实例针对单个数据库运行时,如何使 data.sqlschema.sql 文件仅运行一次,而不是在所有数据库中执行容器。

As I understand from Spring Reference docs, we can use the data.sql and schema.sql files for initializing the database.

When there are multiple instances of the application running against a single database, how to make the data.sql and schema.sql files run only once and instead of executing in all the containers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小嗷兮 2025-01-18 13:32:46

您需要禁用默认的 spring 数据初始化。您可以通过

spring.datasource.initialization-mode=never

While Spring 的属性文件来执行此操作,网址为 9.如果您希望基于脚本的 DataSource 初始化能够建立在由 < code>Hibernate,设置

spring.jpa.defer-datasource-initialization

为 true,这将推迟数据源初始化,直到创建并初始化任何 EntityManagerFactory beans 之后。

为了跨多个应用程序实例管理数据库,您可以使用 FlywayLiquibase,使用基本的 schema.sqldata.sql 建议将 脚本与 FlywayLiquibase 一起使用,并且将在未来版本中删除支持。

You need to disable the default spring data initialization. You can do this through your properties file by

spring.datasource.initialization-mode=never

While Spring at 9. Database Initialization does not recommend using multiple data source initialization technologies, if you want script-based DataSource initialization to be able to build upon the schema creation performed by Hibernate, set

spring.jpa.defer-datasource-initialization

To true, this will defer data source initialization until after any EntityManagerFactory beans have been created and initialized.

And for managing your database across multiple application instance you can use Flyway and Liquibase, sing the basic schema.sql and data.sql scripts alongside Flyway or Liquibase is not recommended and support will be removed in a future release.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文