java如何在Heroku上运行Flyway迁移?
我正在Maven Java项目上使用FlywayDB进行迁移。我目前正在努力使部署到Heroku成为可能
在本地机器上,我使用Maven Flyway插件运行迁移:
$> mvn clean compile flyway:migrate
要在heroku上执行同样的操作,我通常会尝试:
$> heroku run mvn flyway:migrate
但是,mvn在构建阶段之后不可用,因此会产生错误(mvn: command not found
)
如何在Heroku上运行flyway迁移强>
# 1 楼答案
我认为最好的办法是在应用程序中创建一个使用FlywayDB Java API的小类。可能是这样的:
然后在
Procfile
中创建一个条目,如下所示:最后根据需要使用
heroku run migrate
运行它Heroku在slug中不包括Maven的原因(即在运行时)是因为
.m2
目录没有保留。如果包含Maven,然后运行mvn
命令,它首先必须下载internet。.m2
目录不会被保留,因为它会使slug大小过大# 2 楼答案
根据Heroku documentation的说法,不建议在运行Flyway迁移时使用Maven插件
在文件中有两种备选方案: