यह क्यों बनाया गया

  • ECS/EKS environment में application rollback संभव है, लेकिन database बदलावों का automatic rollback संभव नहीं है।
  • Flyway में undo command के जरिए rollback सपोर्ट मिलता है, लेकिन यह Enterprise Edition से उपलब्ध है और Community Edition में इस्तेमाल नहीं किया जा सकता।
  • Enterprise license महंगा लगने वाले personal projects और small teams के लिए यह Extension विकसित किया गया है।

काम करने का तरीका

  • migration की तरह R{version}__*.sql फ़ाइलें db/rollback/ में लिखें
  • application शुरू होने पर current version → target version के बीच की scripts को reverse order में चलाया जाता है

मुख्य फीचर

  • Fail-fast pre-validation — निष्पादन से पहले rollback script मौजूद है या नहीं, इसकी जाँच
  • Single transaction — all-or-nothing की गारंटी
  • Dry-run mode — सिर्फ execution plan को log किया जा सकता है
  • Rollback historyflyway_rollback_history टेबल में log रिकॉर्ड
  • Actuator endpoint/actuator/flyway-rollback पर applied versions और available scripts देख सकते हैं

आवश्यकताएँ

  • Java 17+, Spring Boot 3.x

यह मेरा पहला open source library project है, इसलिए इसमें कई कमियाँ हो सकती हैं। उपयोग का अनुभव या सुधार के सुझाव बेझिझक साझा करें। धन्यवाद!

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.