恕我直言,使用 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/