使用maven进行迁移的IMHO仅适用于开发机器。 在服务器上,你通常没有maven可用(并且可能无法在那里安装它)。
那么:如何在没有maven的情况下启动数据库? 我只是打电话给flyway.init()吗? 如果db已经初始化怎么办?
我可以执行sql语句来初始化db吗? 我的外键和索引在不同的数据库实例之间不同/混乱,所以我已经制作了一个完整的模式脚本,并通过数据导出,模式删除,模式重新创建和数据恢复对其进行了测试。我将在所有数据库上执行此操作以确保它们完全相同。
答案 0 :(得分:2)
是的,你可以简单地调用flyway.init()
您可以使用flyway.status()来检查数据库是否已被插入。
使用Flyway 1.8,这个过程将变得更加容易,其中引入了一个名为initOnMigrate的新属性。第一次运行时,它将在您运行迁移时初始化现有的非空数据库(PROD),或者只迁移到空数据库(DEV)。