αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase

αž˜αž·αž“αž’αŸ’αž›αžΆαž”αŸ‹αž˜αžΆαž“αž–αžΈαž˜αž»αž“αž˜αž€ αž αžΎαž™αž™αžΎαž„αž‘αŸ…αž˜αŸ’αžαž„αž‘αŸ€αž!

αž“αŸ…αž›αžΎαž‚αž˜αŸ’αžšαŸ„αž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ’αžšαžΎ Liquibase αžαžΆαŸ†αž„αž–αžΈαžŠαŸ†αž”αžΌαž„ αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž”αž‰αŸ’αž αžΆαž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αžαŸ” αžŠαžΌαž…αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™ αž˜αž·αž“αž˜αŸ‚αž“αžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜αžœαŸαž™αž€αŸ’αž˜αŸαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαžΉαž„αž–αžΈαžšαž”αŸ€αž”αž”αŸ’αžšαžΎαžœαžΆαž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ„αŸ‡αž‘αŸαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŸαž·αž€αŸ’αžαžΆαžŸαžΆαž›αžΆαž•αŸ’αž‘αŸƒαž€αŸ’αž“αž»αž„αž˜αž½αž™ αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαž’αžαŸ’αžαž”αž‘αž˜αž½αž™αŸ”

αž’αžαŸ’αžαž”αž‘αžšαž½αž˜αž˜αžΆαž“αž‚αž“αŸ’αž›αžΉαŸ‡αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αž“αž·αž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž”αŸ†αž•αž»αžαž…αŸ†αž“αž½αž“αž”αžΈ αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„ αž‡αžΆαž–αž·αžŸαŸαžŸ Liquibase αŸ” αžšαž…αž“αžΆαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Java αž“αŸ…αž€αž˜αŸ’αžšαž·αž Junior αž“αž·αž„ Middle αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž…αŸ’αžšαžΎαž“ αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž€αžΆαžšαž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αž€αžΆαžšαž“αž·αž™αžΆαž™αž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‘αŸ†αž“αž„αž‡αžΆαžŠαžΉαž„αžšαž½αž…αž αžΎαž™αŸ”

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase

Liquibase αž“αž·αž„ Flyway αž‚αžΊαž‡αžΆαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αŸ†αžŽαŸ‚αž“αŸƒαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž– Java αŸ” αž‘αžΈαž˜αž½αž™αž‚αžΊαž˜αž·αž“αž‚αž·αžαžαŸ’αž›αŸƒαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž‘αŸ αžαžΆαž˜αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžŠαŸ‚αž›αž‡αžΆαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž› Liquibase αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‡αžΆαžœαžΈαžšαž”αž»αžšαžŸαž“αŸƒαž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž’αžΆαž…αž‡αžΆαžŸαž€αž› αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž“αŸƒαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαž”αž„αŸ’αžαŸ†αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αžαŸ’αžŸαŸ„αž™αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž™αž»αž‚αžŸαž˜αŸαž™αž“αŸƒαž˜αŸ‰αžΌαžŠ OOP αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΆαž“αž“αŸαž™αžαžΆαž™αžΎαž„αž“αžΉαž„αž–αžŽαŸŒαž“αžΆαž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž˜αŸ’αžαž„αž αžΎαž™αž˜αž·αž“αž”αŸ‰αŸ‡αžœαžΆαž˜αŸ’αžαž„αž‘αŸ€αžαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαž–αž·αžαž‚αžΊαžαŸ‚αž„αžαŸ‚αžαžΆαž’αŸ’αžœαžΈαŸ—αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž αžΎαž™αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αŸ” αžαžΆαž˜αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž›αž½αž“αžœαžΆαž’αžΆαž…αžˆαžΊαž…αžΆαž”αŸ‹ αž“αž·αž„αž˜αž·αž“αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαŸ”

αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž…αžΌαž›αž‡αŸ’αžšαŸ…αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ αž“αž·αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ αž’αžαŸ’αžαž”αž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸαŸ‡αŸ–

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž˜αžΆαž“αž’αžαŸ’αžαž”αž‘αžŠαŸαž›αŸ’αž’αž˜αž½αž™αžšαž½αž…αž αžΎαž™αž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘ αž‚αž“αŸ’αž›αžΉαŸ‡αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαŸ–

αž–αŸαžαŸŒαž˜αžΆαž“αž‡αŸ†αž“αž½αž™

αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“ αž“αž·αž„αž™αŸ„αž”αž›αŸ‹αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αžŠαŸ‚αž›αž€αžΎαžαž˜αž€αžαžΆαž˜αžšαž™αŸˆαž‰αžΎαžŸαžˆαžΆαž˜ αž“αž·αž„αž€αžΆαžšαžˆαžΊαž…αžΆαž”αŸ‹αž“αŸƒαž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αŸ”

1. αž˜αž»αž“αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž„αžΆαžš αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αžŸαŸ’αž‚αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž’αŸ’αž“αž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž•αŸ’αž“αŸ‚αž€αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αžαž“αŸ…αž›αžΎ αžαŸ†αž”αž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰ Liquibase

αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡ αžšαžΏαž„αžŸαžΆαž˜αž‰αŸ’αž‰αŸ— αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆ αžŠαŸ„αž™αž˜αž·αž“αž”αŸ’αžšαžΎαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž’αžΆαž…αž’αŸ’αžœαžΎαž’αŸ„αž™αž‡αžΈαžœαž·αžαž’αŸ’αž“αž€αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž”αžΆαž“αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžŠαžΌαžšαž“αžΉαž„αž†αžΆαž”αŸ‹αž¬αž€αŸ’αžšαŸ„αž™αž˜αž€αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž—αŸαž“αŸ’αžαž…αŸ’αžšαž‘αŸ† αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžŠαŸ‚αž›αžαžΌαž…αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž”αž‰αŸ’αž…αŸαž‰αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αž…αŸ†αž–αŸ„αŸ‡αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αž‘αŸ αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαžΌαž”αžΆαž”αŸŠαžΈαž›αžΈαžαŸαžαŸ’αž–αžŸαŸ‹αžŠαŸ‚αž›αžœαžΆαž“αžΉαž„αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αŸ’αžšαž αž˜ αž¬αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αžαžΌαž…αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Liquibase αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžšαž˜αžΆαž“αžƒαŸ’αž›αžΆαž’αŸ†αž–αžΈαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŸαŸ’αž‚αŸ’αžšαžΈαž” rollback αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ” αž˜αŸ‚αž“αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘ https://habr.com/ru/post/178665/ αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸαž€αžΌαžŠαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ αž“αž·αž„αž™αž“αŸ’αžαž€αžΆαžšαžœαž·αž›αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰αŸ”

2. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ αžŸαžΌαž˜αž€αž»αŸ†αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαžŠαŸ„αž™αžŠαŸƒαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžŠαžΌαž…αž–αžΆαž€αŸ’αž™αžαžΆ β€œOne Persil, always Persilβ€αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™ Liquibase αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αžŠαŸƒαžŽαžΆαž˜αž½αž™αž—αŸ’αž›αžΆαž˜αŸ—αž“αžΆαŸ†αž‘αŸ…αžšαž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž˜αž·αž“αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆ αž αžΎαž™αž€αž˜αŸ’αžšαž·αžαž“αŸƒαž€αžΆαžšαž‡αžΏαž‘αž»αž€αž…αž·αžαŸ’αžαž›αžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‘αŸ…αž‡αžΆαžŸαžΌαž“αŸ’αž™αŸ” αž αžΆαž“αž·αž—αŸαž™αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž‡αžΆαž…αŸ’αžšαžΎαž“αž˜αŸ‰αŸ„αž„αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžŠαžΆαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΎαž„αžœαž·αž‰ αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸαž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαž‚αžΊαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αžŸαŸ’αž›αžΆαž”αŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“ "αžŸαžΆαž›αžΆαž…αžΆαžŸαŸ‹" DBA αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž–αž“αŸ’αž™αž›αŸ‹αž‚αžΆαžαŸ‹αžŠαŸ„αž™αž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹ αž“αž·αž„αž‚αž·αžαž±αŸ’αž™αž”αžΆαž“αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαžαžΎαžšαžΏαž„αž’αžΆαž€αŸ’αžšαž€αŸ‹αž“αžΉαž„αž‘αŸ…αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αžΆαžαŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαž˜αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž–αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ SQL αžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžαžŽαŸ’αžŒαŸ”

3. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž»αž‰αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžšαž½αž…αž αžΎαž™ αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž‘αžΆαž‰ αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αžŠαŸ‚αž›αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž› αž‚αžΆαžαŸ‹αž“αžΉαž„αž…αž„αž…αžΆαŸ†αž’αŸ’αž“αž€αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™αžŸαž”αŸ’αž”αž»αžšαžŸ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž‘αž‘αž½αž›αž”αžΆαž“αž€αŸ†αž αž»αžŸαž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžˆαž»αžαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αžšαž”αŸ€αž”αžŽαžΆαžŠαŸ‚αž›αž›αŸαž…αž’αŸ’αž›αžΆαž™αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαžαžΆαž˜αž‡αž˜αŸ’αžšαžΆαž›αžšαž’αž·αž›αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ‚αž€αž»αž“αŸ” αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαž”αž‰αŸ’αž αžΆαž‚αžΊαžŸαŸ’αžαž·αžαž“αŸ…αž›αžΎαžŸαž»αž–αž›αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž•αž›αž”αžΌαž€αž›αŸαž - αž™αž“αŸ’αžαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αžšαž”αžŸαŸ‹ Liquibase αŸ” αž“αŸ…αž–αŸαž›αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΌαžŠαž€αŸ†αžŽαžαŸ‹ αž”αžšαž·αž˜αžΆαžŽ hash αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž˜αžΌαž›αž–αžΈαžŠαŸ†αž”αžΌαž„αžŠαŸ„αž™αž˜αž·αž“αž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΌαžŠ SQL ឬ XML αž•αŸ’αž‘αž»αž™αž‘αŸ…αžœαž·αž‰αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž‡αžΈαžœαž·αžαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž…αž’αžΆαž“αž”αžΆαž“αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αž“αžΉαž„αž‡αžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ‚αž›αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž—αž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž›αŸ‹αž–αŸ’αžšαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αŸ”

4. αž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž’αŸ’αžœαžΈαŸ—αž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž—αŸ’αž›αžΆαž˜αŸ—αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž˜αž·αž“αž”αžΆαž“αž‡αŸ„αž‚αž‡αŸαž™ αž’αŸ’αžœαžΈαŸ—αž’αžΆαž…αžαŸ’αžšαž›αž”αŸ‹αž˜αž€αžœαž·αž‰αž”αžΆαž“αŸ” Liquibase αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαŸ†αž€αž·αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžœαž·αž›αžœαž·αž‰αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαžŠαŸ„αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž›αž½αž“αž―αž„αžŠαŸ‚αžš αž αžΎαž™αž–αž½αž€αž‚αŸαž’αžΆαž…αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžΌαž”αžΆαž”αŸŠαžΈαž›αžΈαžαŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž“αŸƒαžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ†αžαžΆαž“αŸ‹αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž›αŸαž„αžœαžΆαžŠαŸ„αž™αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŽαžΆαž˜αž½αž™αŸ”

5. αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž˜αž·αž“αž•αŸ’αž‘αž»αž™αž–αžΈαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ αž“αž·αž„αž—αžΆαž–αž―αž€αž‡αž“αž‘αŸαž“αŸ„αŸ‡ αž˜αž·αž“αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ αž αžΎαž™αžœαžΆαž˜αž·αž“αž‘αž˜αŸ’αž„αž“αŸ‹αžŠαžΌαž…αž–αŸ’αžšαŸ‡αž’αžΆαž‘αž·αžαŸ’αž™αž–αžΈαžšαž‘αŸ - αž˜αž»αž“αž–αŸαž›αž”αŸ’αžšαžΎαžœαžΆαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž•αŸ’αž‘αžΆαž›αŸ‹ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαžœαžΆαž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž‚αžŽαž“αžΆαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…αŸ” αžŸαŸ’αž‘αžΎαžšαžαŸ‚ 100% αž“αŸƒαž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αŸ”

6. αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜

αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ‚αž›αžšαŸ€αž”αž…αŸ†αž”αžΆαž“αž›αŸ’αž’ αž’αŸ’αž“αž€αžšαžΆαž›αŸ‹αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžŠαžΉαž„αžαžΆαž’αŸ’αž“αž€αžŽαžΆαž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαŸ” αžαžΆαž˜αž–αž·αž αž“αŸαŸ‡αž…αŸ’αžšαžΎαž“αžαŸ‚αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αžšαžŽαžΈαž“αŸ„αŸ‡αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αž·αž…αŸ’αž…αž€αžΆαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‚αž½αžšαžαŸ‚αž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αžŠαž›αŸ‹αž€αŸ’αžšαž»αž˜αž‘αžΆαŸ†αž„αž˜αžΌαž›αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆ αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž”αŸ’αžšαž»αž„αž”αŸ’αžšαž™αŸαžαŸ’αž“αŸ” αžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΆαžŸαŸ’αžšαŸαž™αž‘αžΆαž€αŸ‹αž‘αž„αž‡αžΆαž˜αž½αž™αž˜αž·αžαŸ’αžαžšαž½αž˜αž€αžΆαžšαž„αžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž„αžΆαžš αž˜αž·αž“αž˜αŸ‚αž“αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ„αŸ‡αž‘αŸαŸ” αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠαŸ”

7. αž‚αž·αžαž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎ!

αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž±αŸ’αž™αžƒαžΎαž‰αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŽαžΆαž˜αž½αž™αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αž‰αŸ’αž αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ€αžŸαžœαžΆαž„ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αžœαž·αž—αžΆαž‚αž˜αŸ’αžαž„αž‘αŸ€αžαž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αžΆαžαŸ‹αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎ αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž’αžΆαž…αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αŸ” αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžαŸ‚αž„αžαŸ‚αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”

αž’αž“αŸ’αž‘αžΆαž€αŸ‹

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž’αž“αŸ’αž‘αžΆαž€αŸ‹αž’αž˜αŸ’αž˜αžαžΆ αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αž›αžΆαž€αŸ‹αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž’αŸ’αžœαžΎαžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžαžΆαž„αž›αžΎ αž αžΎαž™αžαžΎαž’αŸ’αž“αž€αž‚αž½αžšαž’αŸ’αžœαžΎαž™αŸ‰αžΆαž„αžŽαžΆ?

αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αžΈ 1αŸ– αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž–αžΈαžšαž“αžΆαž€αŸ‹αž€αŸ†αž–αž»αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αž˜αžΈαž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase
Vasya αž“αž·αž„ Petya αž…αž„αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ†αžŽαŸ‚αž‘αžΈ 4 αžŠαŸ„αž™αž˜αž·αž“αžŠαžΉαž„αž–αžΈαž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž”αžΆαž“αž…αŸαž‰αžŸαŸ†αžŽαžΎαž‘αžΆαž‰αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ” αž™αž“αŸ’αžαž€αžΆαžšαž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αŸ–

αžšαž”αŸ€αž”αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž

  1. αžŠαžΌαž…αž˜αŸ’αžŠαŸαž… αžŸαž αžŸαŸαžœαž·αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž™αž›αŸ‹αž–αŸ’αžšαž˜αž›αžΎαž›αŸ†αžŠαžΆαž”αŸ‹αžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‚αž½αžšαžαŸ‚αž‘αŸ… αž§αž‘αžΆαž αžšαžŽαŸ Petin αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž‡αžΆαž˜αž»αž“αžŸαž·αž“αŸ”
  2. αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž‚αž½αžšαžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αž›αŸαžαž‘αžΈαž–αžΈαžšαž‘αŸ…αžαŸ’αž›αž½αž“αž‚αŸ αž αžΎαž™αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαž”αžŸαŸ‹ Vasya αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαŸ‚αž‘αžΈ 5αŸ” αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžαžΆαž˜αžšαž™αŸˆ Cherry Pick αž¬αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž™αŸ‰αžΆαž„αžŸαŸ’αž’αžΆαžαŸ”
  3. αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž’αŸ’αž“αž€αž–αž·αžαž‡αžΆαž‚αž½αžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŸαž»αž–αž›αž—αžΆαž–αž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αŸ”
    αž‡αžΆαž€αžΆαžšαž–αž·αž αž™αž“αŸ’αžαž€αžΆαžš Liquibase αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ†αžŽαŸ‚ 4 αž…αŸ†αž“αž½αž“αž–αžΈαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž»αž€αž’αŸ’αžœαžΈαŸ—αž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαžΌαž…αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αž“αŸ„αŸ‡αž‚αžΊαž’αŸ’αž“αž€αž“αžΉαž„αž˜αžΆαž“αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž–αžΈαžšαž‘αŸ…αž€αŸ†αžŽαŸ‚ 4 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžˆαŸ’αž˜αŸ„αŸ‡αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡ αž€αŸ’αžšαŸ„αž™αž˜αž€αžœαžΆαž€αŸ’αž›αžΆαž™αž‡αžΆαž€αžΆαžšαž›αŸ†αž”αžΆαž€αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž»αž€αžšαž€αž€αŸ†αžŽαŸ‚αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž Liquibase αžŠαžΌαž…αž‡αžΆαž•αŸ’αž‘αŸ‡αžšαž”αžŸαŸ‹ hobbits αžšαž€αŸ’αžŸαžΆαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž–αž½αž€αž‚αŸαž‚αžΊαž‡αžΆ validCheckSum key αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 1.7 αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαž˜αŸ’αž›αŸƒ hash αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž―αž€αžŸαžΆαžš https://www.liquibase.org/documentation/changeset.html αž“αž·αž™αžΆαž™αžŠαžΌαž…αžαž‘αŸ…αŸ–

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžΌαž›αž”αŸ’αž”αž‘αžΆαž“αž”αŸαžαŸ’αžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆαž˜αžΆαž“αžŸαž»αž–αž›αž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸαŸ‡ αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž”αŸ’αžšαžΎαž‡αžΆαž…αž˜αŸ’αž”αž„αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš ChangeSet αž αžΎαž™αž˜αž·αž“αž…αž„αŸ‹αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™ (αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž“αžΈαžαž·αžœαž·αž’αžΈαžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž‘αŸ)

αž”αžΆαž‘/αž…αžΆαžŸαŸŽ αž“αžΈαžαž·αžœαž·αž’αžΈαž“αŸαŸ‡αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž‘αŸαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαž›αžαŸ’αž›αŸ‡ αž‚αŸ’αžšαžΌαž˜αž“αŸ’αžαž’αžΆαž‚αž˜αž–αž“αŸ’αž›αžΊαžαŸ’αž›αžΆαŸ†αž„ αž€αŸαž…αŸαŸ‡αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž„αž„αžΉαžαžŠαŸ‚αžšαŸ”

αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‘αžΈ 2: αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžŠαŸ‚αž›αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase

αž§αž”αž˜αžΆαžαžΆαž’αŸ’αž“αž€αž˜αž·αž“αž˜αžΆαž“αž›αž‘αŸ’αž’αž—αžΆαž–αž”αŸ’αžšαžΎαž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸαŸ” Petya αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αž½αž™ αžŸαžΆαž€αž›αŸ’αž”αž„αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž αžΎαž™αžŠαŸ„αž™αž˜αžΆαž“αž‘αŸ†αž“αž»αž€αž…αž·αžαŸ’αžαž–αŸαž‰αž›αŸαž‰αžαžΆαž‚αžΆαžαŸ‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αž”αžΆαž“αž’αŸ’αžœαžΎαžŸαŸ†αžŽαžΎαž‘αžΆαž‰αž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαŸ” αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž“αŸαŸ‡ αž”αŸ’αžšαž’αžΆαž“β€‹αž‚αž˜αŸ’αžšαŸ„αž„β€‹αž”αžΆαž“β€‹αž”αž‰αŸ’αž‡αžΆαž€αŸ‹β€‹αžαžΆβ€‹αžαžΎ Petya αž”αžΆαž“β€‹αž–αž·αž“αž·αžαŸ’αž™β€‹αžœαžΆβ€‹αžŠαŸ‚αžšβ€‹αž¬β€‹αž‘αŸ αž αžΎαž™β€‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αžœαžΆαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αžΆαž“αž’αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αŸ”

αžαžΆαž˜αž–αž·αž αž“αŸαŸ‡αž’αžΆαž…αž‘αŸ…αžšαž½αž… αž αžΎαž™αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž˜αžΆαž“αž—αžΆαž–αžŸαŸŠαžΆαŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αž‘αŸαŸ” αžœαžΆαž€αžΎαžαž‘αžΎαž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹ Petya αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αžŠαŸ„αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž€αž›αŸ’αž”αž„ αž“αŸ„αŸ‡αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž‚αŸ’αžšαž”αŸ‹αž€αžšαžŽαžΈαž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž–αŸαž›αž›αž»αž”αžαžΆαžšαžΆαž„ αžœαžΆαž”αž„αŸ’αž αžΆαž‰αžαžΆαž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ„αž™ Foreign Key αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž½αž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αž»αž”αŸ” αž¬αž“αŸ…αž–αŸαž›αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ’αžšαž—αŸαž‘αž‡αž½αžšαžˆαžš αžœαžΆαž”αŸ’αžšαŸ‚αžαžΆαž˜αž·αž“αž˜αŸ‚αž“ 100% αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž˜αŸ’αž›αŸ‚αž„αž‘αŸ…αž‡αžΆαž”αŸ’αžšαž—αŸαž‘αžαŸ’αž˜αžΈαž“αŸ„αŸ‡αž‘αŸαŸ”

αžšαž”αŸ€αž”αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž

  • αžŸαžšαžŸαŸαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž˜αŸ’αžαž„ αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ αž“αž·αž„αž“αžΆαŸ†αž™αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž“αŸαŸ‡αž‡αžΆαžœαž·αž’αžΈαž‘αžΌαž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž–αžΈαž˜αž»αž“ αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž–αž·αžŸαŸαžŸαŸ” αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž•αŸ’αž›αžΌαžœαž“αŸαŸ‡αž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž˜αžΆαž“αž‘αŸ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αž‘αžΆαž›αŸ‹αž’αžΆαž…αž˜αžΆαž“αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž€αžΆαžšαž”αŸ†αž•αŸ’αž›αž·αž…αž”αŸ†αž•αŸ’αž›αžΆαž‰αŸ”
  • αžœαž·αž’αžΈαžŠαŸαž›αŸ†αž”αžΆαž€αž˜αž½αž™αž‘αŸ€αžαž‚αžΊαž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ” αž€αžΆαžšαž›αŸ†αž”αžΆαž€αž‚αžΊαžαžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžšαž½αž…αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžšαž”αžŸαŸ‹αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαžŸαŸ’αžŠαžΆαžšαž‘αžΎαž„αžœαž·αž‰αŸ” αžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αžŠαŸ‚αž›αžαžΆαž€αŸ’αžšαž»αž˜ backend αž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αžαŸ†αž±αŸ’αž™αžŠαžΆαž€αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸαž‰αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”
  • αž αžΎαž™αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αž‡αžΆαžŸαž€αž›αž”αŸ†αž•αž»αžαž‚αžΊαž•αŸ’αž‘αŸαžšαž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžšαž·αžŸαŸ’αžαžΆαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž”αž„αŸ’αž€αžΎαžαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αžΎαž„αžœαž·αž‰ αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžŠαžΌαžšαžαŸ’αž˜αžΈαž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžŠαŸ‚αž›αžαžΌαž… αžŠαŸ‚αž›αž“αžΉαž„αž‡αŸ€αžŸαžœαžΆαž„αž”αž‰αŸ’αž αžΆαŸ”
    αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase

αž‡αžΆαž‘αžΌαž‘αŸ… αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž˜αžΆαžŸαž—αžΆαž–αž‘αŸ…αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αž›αž·αžαž€αž˜αŸ’αž˜ αž±αž€αžΆαžŸαžαž·αž…αž‡αžΆαž„αžŠαŸ‚αž›αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž“αžΉαž„αž‘αŸ…αž†αŸ’αž„αžΆαž™αŸ” αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž˜αž»αž“αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αž‰αžΎαžŸαŸ†αžŽαž»αŸ†αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„ αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž‚αž·αžαž…αŸ’αžšαžΎαž“αžŠαž„αžαžΆαžαžΎαžœαžΆαž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžαžΌαž…αž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αžŸαŸ’αžαžΆαž“αž—αžΆαž– 3. Liquibase αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžœαžΆαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αž›αž·αž

αž§αž”αž˜αžΆαžαžΆαž”αŸ’αžšαž’αžΆαž“αž€αŸ’αžšαž»αž˜αž”αžΆαž“αžŸαŸ’αž“αžΎαž±αŸ’αž™ Petya αž”αž‰αŸ’αž…αžΌαž› Liquibase αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™ αž αžΎαž™αž˜αžΆαž“αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

αž’αžΆαžŸαŸ’αžšαŸαž™αž αŸαžαž»αž“αŸαŸ‡ αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αž˜αžΈ αž¬αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αžαžΆαžšαžΆαž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰αž–αžΈαž‘αž‘αŸ αž αžΎαž™αž”αžšαž·αž™αžΆαž€αžΆαžŸαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαžαŸ‚αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž‡αžΆαž”αŸ‹αž›αžΆαž”αŸ‹ αžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž™αž€αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αž˜αžΈαŸ”

αžšαž”αŸ€αž”αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž

αž˜αžΆαž“αžœαž·αž’αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αž•αž„αžŠαŸ‚αžšαŸ–

  • αž‘αžΈαž˜αž½αž™ αž“αž·αž„αž…αŸ’αž”αžΆαžŸαŸ‹αž”αŸ†αž•αž»αžαž‚αžΊαžαŸ’αžšαžΌαžœαž˜αžΆαž“αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžαŸ‚αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αžŠαŸƒαž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αžšαž·αžŸαŸ’αžαžΆαž“αžαŸ’αž˜αžΈαŸ”
  • αž‘αžΈαž–αžΈαžšαž‚αžΊαž˜αž·αž“αžŸαžΌαžœαž…αŸ’αž”αžΆαžŸαŸ‹αž‘αŸ αž˜αžΆαž“αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€ Liquibase αžŠαŸ‚αž›αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘ Liquibase αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž αžΎαž™αž’αž“αž»αžœαžαŸ’αžαžœαžΆαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž”αžšαž·αž”αž‘ Liquibase αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– https://www.liquibase.org/documentation/contexts.html. αž‡αžΆαž‘αžΌαž‘αŸ…αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž™αž“αŸ’αžαž€αžΆαžšαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αž§αž‘αžΆαž αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαŸ”
  • αž•αŸ’αž›αžΌαžœαž‘αžΈαž”αžΈαž˜αžΆαž“αž‡αŸ†αž αžΆαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αžŠαŸ†αž”αžΌαž„ αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αž½αž™αž…αŸ†αž“αž½αž“ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž•αž›αž”αžΌαž€αžšαž”αžŸαŸ‹αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αŸ” αž‡αŸ†αž αžΆαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‚αžΊαžαŸ’αžšαžΌαžœαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžαžΆαžšαžΆαž„ Liquibase αž‘αž‘αŸαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αž·αž“αž‘αž‘αŸαžšαž”αžŸαŸ‹αž™αžΎαž„ αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž’αŸ’αž“αž€αž’αžΆαž…αžŠαžΆαž€αŸ‹αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαžŠαŸ„αž™αžŠαŸƒαž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš "αžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž" αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž˜αžΆαž“αžšαž½αž…αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” . αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ αž€αžΆαžšαžšαžΆαž”αŸ‹αžαž™αž€αŸ’αžšαŸ„αž™αž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αžΈαž€αŸ†αžŽαŸ‚ 2 αž αžΎαž™αž”αžšαž·αžŸαŸ’αžαžΆαž“αžαŸ’αž˜αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αžΉαž„αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαžŠαžΌαž…αž‚αŸ’αž“αžΆαž”αŸαŸ‡αž”αž·αž‘αŸ”
    αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αžΆαž‰αŸ‹αžαŸ’αž›αž½αž“αž―αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž‡αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Liquibase

αžŸαŸ’αžαžΆαž“αž—αžΆαž– 4. αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ† αž αžΎαž™αž˜αž·αž“αž˜αžΆαž“αž–αŸαž›αžœαŸαž›αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹

αž“αŸ…αžŠαžΎαž˜αžŠαŸ†αž”αžΌαž„αž“αŸƒαž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž‡αžΆαž€αŸ’αž”αž½αž“ Liquibase αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž€αžΆαžšαž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ… αž αžΎαž™αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™αž™αžΌαžš αŸ— αž‘αŸ…αž’αŸ’αž“αž€αž’αžΆαž…αž‡αŸ†αž–αž”αŸ‹αžŠαž½αž›αž›αžΎαž€αžšαžŽαžΈαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž€αŸ’αž›αžΆαž™αž‡αžΆαž’αŸ† αž αžΎαž™αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž™αžΌαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αž”αŸ‹αŸ”
  • αž˜αžΆαž“αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαŸ”
    αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž™αžΌαžšαž–αŸαž€αž“αžΉαž„αž“αžΆαŸ†αž±αŸ’αž™αž’αžŸαŸ‹αž–αŸαž›αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αžΈαž˜αž½αž™αŸ—αžŠαŸ„αž™αž‘αŸ‚αž€αž–αžΈαž‚αŸ’αž“αžΆαž’αžΆαž…αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž˜αž·αž“αžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αŸ”

αžšαž”αŸ€αž”αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž”αŸ‚αž”αž“αŸαŸ‡ αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αžΆαž“αž‘αŸ†αž αŸ†αž’αŸ†αžšαž½αž…αž‘αŸ…αž αžΎαž™ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž˜αž“αž»αžŸαŸ’αžŸαž–αŸαž‰αžœαŸαž™ αž αžΎαž™ Liquibase αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαžΎαžšαžαž½αž‡αžΆαž§αž”αž€αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ…αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆ Liquibase αž‡αžΆαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž„αž€αŸ’αžšαž„αž‡αžΆαž―αž€αžŸαžΆαžš jar αž αžΎαž™αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž’αŸ’αž“αž€αž’αžΆαžŸαŸ’αžšαŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„ αž¬αžŠαŸ„αž™αž―αž€αžšαžΆαž‡αŸ’αž™αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž―αž€αžšαžΆαž‡αŸ’αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž»αž€αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžšαž·αž™αžΆαž€αžΆαžŸ CI/CD αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž¬αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸ’αž˜αžΆαžŠαŸαžšαžΉαž„αž˜αžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰αž•αŸ’αž“αŸ‚αž€αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ Liquibase https://www.liquibase.org/documentation/command_line.html. αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž“αŸαŸ‡ αžœαžΆαž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžΆαž“ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž‡αžΆαž€αžΆαžšαž–αž·αž αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž§αž”αžŸαž‚αŸ’αž‚αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž αžΎαž™αž–αž½αž€αž‚αŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αžΆαž˜αž‘αžΆαžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž”αŸ’αžšαž€αž”αžŠαŸ„αž™αž—αžΆαž–αž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαŸ” αžœαžΆαž‡αžΆαž€αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ„αŸ‡ αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž”αž‰αŸ’αž αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ€αžŸαžœαžΆαž„αŸ” αž‡αžΆαž–αž·αžŸαŸαžŸ αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžšαžΆαž›αŸ‹αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž”αžΆαž“αžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆ αž αžΎαž™αž–αž½αž€αž‚αŸαžαŸ’αž›αŸ‡αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αŸ†αž αž»αžŸαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžœαžΆαž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžŸαžΆαžšαž€αžΆαžšαž˜αž·αž“αž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαž›αžαŸ’αž›αŸ‡αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž’αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž§αž”αž€αžšαžŽαŸαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹