sli*_*fty 5 java heroku maven flyway
我正在使用FlywayDB在Maven Java项目上进行迁移。我目前正在努力使其能够部署到Heroku。
在我的本地计算机上,我正在使用Maven Flyway插件来运行迁移:
$> mvn clean compile flyway:migrate
为了在heroku上做同样的事情,我通常会尝试:
$> heroku run mvn flyway:migrate
但是,在构建阶段之后mvn不可用,因此会产生错误(mvn: command not found)
如何在Heroku上进行飞行路线迁移?
我认为最好的选择是在应用程序中创建一个使用 FlywayDB Java API 的小类。它可能看起来像这样:
class Migrator {
public static void main(String[] args) throws Exception {
...
Flyway flyway = new Flyway();
flyway.setDataSource(url, user, password);
flyway.migrate();
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的中创建一个条目,Procfile如下所示:
migrate: java -cp target/classes:target/dependency/* Migrator
Run Code Online (Sandbox Code Playgroud)
最后根据需要运行它heroku run migrate。
Heroku 不在 slug 中(即运行时)包含 Maven 的原因是因为.m2未保留该目录。如果包含 Maven,然后您运行命令mvn,则首先必须下载互联网。不保留该.m2目录,因为它会使 slug 大小太大。
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |