2

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

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

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

4

1 回答 1

2

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

您可以使用 flyway.status() 检查数据库是否已启动。

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

于 2012-08-29T22:54:14.127 回答