Flyway:没有maven的db init?

标签 flyway

恕我直言,使用 Maven 进行迁移仅适用于开发机器。 在服务器上,您通常没有可用的 Maven(并且可能不可能将其安装在那里)。

那么:如何在没有 Maven 的情况下初始化数据库? 我只调用flyway.init()吗? 如果数据库已经初始化了怎么办?

我可以执行sql语句来初始化数据库吗? 我的外键和索引在不同的数据库实例之间是不同的/困惑的,所以我已经制作了一个完整的模式脚本,并通过数据导出、模式删除、模式重新创建和数据恢复对其进行了测试。我将对所有数据库执行此操作,以确保它们完全相同。

最佳答案

是的,你可以简单地调用flyway.init()

您可以使用flyway.status()来检查数据库是否已初始化。

Flyway 1.8 中引入了一个名为 initOnMigrate 的新属性,此过程将变得更加容易。第一次运行时,当您运行 migrate 或仅迁移空数据库 (DEV) 时,它将初始化现有的非空数据库 (PROD)。

关于Flyway:没有maven的db init?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155037/

相关文章:

mysql - 来自maven的flyway : getting Datasource not set!错误

spring-boot - Spring Boot中Flyway集成(企业版)问题

spring - Zonky + Spring Boot + Postgres + Flyway 以及用户名和密码

java - 作为应用程序用户而不是系统用户的 Postgres JDBC 连接

liquibase - 数据库变更管理 - 如何处理分支和主干上的变更

java - 使用 Flyway 管理修补程序

java - 使用 Ant 时 Flyway 在类路径上找不到 Spring Java 迁移

spring-boot - Spring Boot : Setting Hibernate naming strategy with @DataJpaTest and Flyway

mysql - 在 AWS RDS Mysql 5.6 上进行几次迁移后 Flyway 挂起

java - 现有数据库上的飞路迁移导致 "wrong column type encountered in column"