java - 如果应用程序不存在,在java spring应用程序中使用什么来自动创建数据库或新表?

标签 java mysql spring hibernate

我正在编写一个示例应用程序,其中我将所有 sql 写入文件中。

Whenever I added new functionality I am creating new sql script.

当我的应用程序运行时,我应该使用什么技术,首先检查所有脚本(如果不存在,则创建),或者如果添加任何新脚本,则仅创建该脚本。我给了文件名,如 script1.sql,script2.sql 等。

最佳答案

您正在使用一组 SQL 脚本来设置数据库。每次进行修改时,您都会添加另一个脚本 - 增量脚本。

您可以使用DB maintain用于管理它们。它将保存有关执行了哪些脚本的信息,并且知道只执行最后一个补丁。这似乎正是您正在寻找的:

  1. 跟踪执行的脚本(数据库版本)
  2. 可以轻松部署到另一个环境(使用较低的数据库版本)
  3. 可以做的远不止这些,但这似乎就是您所需要的。

PS 不确定是否有其他框架可以做同样的事情。

关于java - 如果应用程序不存在,在java spring应用程序中使用什么来自动创建数据库或新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431586/

相关文章:

Java、Spring、Apache Tiles 错误 : Could not resolve view with name 'contact' in servlet with name 'spring'

java - 使用 ANT 脚本构建 Android 测试项目

java - Eclipse 禁用自动更正

php - 从属下拉值不更新到 mysql

php - 如何在 PHP 中使用 INNER JOIN 显示来自 2 个不同表的数据?

java - 我的类实现了一个接口(interface),但没有覆盖它的抽象方法。为什么 Eclipse 仍然可以毫无问题地编译它?

javax.servlet.ServletException : Could not resolve view with name 'home' in servlet with name 'appServlet'

java - 我需要用证书签署二进制流

mysql - 如何在另一台主机上连接 MySQL 和 kafka?

spring - Docker For Windows - 部署在容器上的 Java 应用程序在调用部署在另一个容器上的另一个 Java 应用程序时出现连接被拒绝错误