मैं अपने डीबी माइग्रेशन को संभालने के लिए फ्लाईवे कमांड-लाइन टूल का उपयोग कर रहा हूं। अब तक सभी माइग्रेशन एसक्यूएलफ्लाईवे जावा-आधारित माइग्रेशन कैसे बनाएं
कॉन्फ़िग फ़ाइल (केवल इस्तेमाल किया विकल्प) कर रहे हैं:
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
कि पूरी तरह से काम करता है।
लेकिन अभी के लिए मुझे एक जावा-आधारित माइग्रेशन जोड़ने की आवश्यकता है। और मैं वास्तव में परेशान हूं, मुझे कोई भी उदाहरण उदाहरण नहीं मिल रहा है। संकलन कैसे करें, जावा माइग्रेशन कहां रखा जाए।
मैं आधिकारिक दस्तावेज से सरल प्रवास स्तरीय कोशिश की है:
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
और फिर अलग-अलग स्थानों के लिए है कि जार डाल, कोई असर नहीं।
फ्लाईवे जानकारी - माइग्रेशन को न देखें।
तो सबसे सरल जावा-आधारित माइग्रेशन कैसे बनाएं। मैं मैवेन, या कुछ इसी तरह का उपयोग नहीं करना पसंद करूंगा। बस साधारण जार फ़ाइल (???) जिसे फ्लाईवे कमांड-लाइन टूल द्वारा उठाया जाता है।
धन्यवाद।
धन्यवाद। स्थानों पर db. माइग्रेशन जोड़ना, जो मुझे याद आया –
@ वादिम कोवलेंको भी इसी तरह के मुद्दे का सामना कर रहा है, क्या आप कृपया मेरी मदद कर सकेंगे। मैंने फ्लाईवे.एलोकेशन में डीबी/माइग्रेशन जोड़ा है और जार फ़ाइल को जार फ़ोल्डरों के अंदर रखा गया है लेकिन फिर भी एक ही त्रुटि का सामना कर रहा है "स्थान में एसक्यूएल माइग्रेशन के लिए स्कैन करने में असमर्थ: क्लासपाथ: डीबी/माइग्रेशन", कृपया मुझे बताएं कि क्या आप किसी भी अन्य विवरण की आवश्यकता है –
@AdarshHDDev वर्गपाथ - डीबी/माइग्रेशन के अंदर स्थित जार फ़ाइल के अंदर एसक्यूएल और/या कक्षा फाइलें करता है? –