मैं अपने सर्वर के एकाधिक (6 या तो) उदाहरणों पर एक फ्लाईवे माइग्रेशन करने की कोशिश कर रहा हूं। प्रत्येक को बांस का उपयोग करके गिट से स्वचालित रूप से बनाया और तैनात किया जाता है, इसलिए मैं वास्तव में flyway:migrate
मेवेन लक्ष्य का उपयोग करने में सक्षम होना चाहता हूं ताकि प्रत्येक सर्वर स्वयं तैनात होने पर स्वयं माइग्रेट हो सके।माइग्रेट करने से पहले फ्लाईवे मेवेन इनिट
हालांकि मैं अभी फ्लाईवे का प्रयास कर रहा हूं, इसलिए मौजूदा डीबी में से कोई भी init
'डी नहीं है। मुझे आश्चर्य है कि मेरे लिए किसी भी तरह मेवेन में निर्दिष्ट करना संभव है कि फ्लाईवे init
होना चाहिए यदि यह पहले से नहीं है, और फिर migrate
हर बार?
migrate docs सुझाव है कि "Flyway अगर यह मौजूद नहीं है मेटाडाटा तालिका स्वचालित रूप से पैदा करेगा", लेकिन तथ्य यह है जब flyway:migrate
लक्ष्य निष्पादित किया जाता है में, मैं त्रुटि मिलती है:
Failed to execute goal com.googlecode.flyway:flyway-maven-plugin:2.2:migrate (default) on project mutopia-server: Flyway Error: com.googlecode.flyway.core.api.FlywayException: Found non-empty schema "public" without metadata table! Use init() first to initialize the metadata table. -> [Help 1]
इसे इंगित करने के लिए धन्यवाद। अब मैंने मेटाडेटा टेबल को आरंभ करने के लिए "इनिट() का उपयोग करें या initOnMigrate सेट करने के लिए अपवाद संदेश का विस्तार किया है।" –