5
我正在使用flyway命令行工具來處理我的db遷移。 到目前爲止所有遷移都是SQL如何構建基於java的遷移路線
配置文件(僅用於選項):
flyway.url=jdbc:postgresql://db.host
flyway.user=user
flyway.password=password
flyway.table=flyway_migrations
flyway.locations=filesystem:/home/........./sql/migrations
flyway.sqlMigrationPrefix=update
flyway.validateOnMigrate=false
flyway.outOfOrder=true
完美的作品。
但現在我需要添加一個基於Java的遷移。我真的很困惑 我找不到任何todo的例子。如何編譯,在哪裏把Java遷移。
我試着簡單遷移類從官方文檔:
package db.migration;
import org.flywaydb.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;
import java.sql.PreparedStatement;
/**
* Example of a Java-based migration.
*/
public class V50_121_1__update_notes implements JdbcMigration {
public void migrate(Connection connection) throws Exception {
PreparedStatement statement =
connection.prepareStatement("INSERT INTO test_user (name) VALUES ('Obelix')");
try {
statement.execute();
} finally {
statement.close();
}
}
}
但接下來做什麼? 嘗試編譯:
javac -cp "./flyway-core-3.2.1.jar" V50_121_1__update_notes.java
jar cf V50_121_1__update_dataNode_notes.jar V50_121_1__update_dataNode_notes.class
然後把那個罐子到不同的位置,沒有任何效果。
飛路信息 - 看不到遷移。
那麼如何構建最簡單的基於java的遷移。我寧願不使用Maven或類似的東西。只是由flyway命令行工具拾取的簡單jar文件(???)。
謝謝。
謝謝。添加db.migration到位置,這是我錯過 –
@Vadym科瓦連科也面臨類似的問題,你能幫助我請。我已經將db/migration添加到flyway.locations中,並且將jar文件放置在jar文件夾中但是仍面臨同樣的錯誤「無法掃描位置中的SQL遷移:classpath:db/migration」,請讓我知道你是否需要任何其他細節 –
@AdarshHDDev在類路徑中的jar文件中的sql和/或類文件 - db/migration? –