Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ

рдкрд╣рд┐рд▓реЗ рдХрд╣рд┐рд▓реНрдпреИ рднрдПрдХреЛ рдерд┐рдПрди, рд░ рдпрд╣рд╛рдБ рд╣рд╛рдореА рдлреЗрд░рд┐ рдЬрд╛рдиреНрдЫреМрдВ!

рд╣рд╛рдореНрд░реЛ рдЕрд░реНрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛, рд╣рд╛рдореАрд▓реЗ рднрд╡рд┐рд╖реНрдпрдорд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрди рд╕реБрд░реБрджреЗрдЦрд┐ рдиреИ Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рд╕рдмреИ рдпреБрд╡рд╛ рдЯреЛрд▓реА рд╕рджрд╕реНрдпрд╣рд░реВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕рд╣реА рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдерд╛рд╣рд╛ рдЫреИрдиред рдореИрд▓реЗ рдПрдХ рдЖрдиреНрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдЖрдпреЛрдЬрдирд╛ рдЧрд░реЗрдВ, рдЬреБрди рдореИрд▓реЗ рд▓реЗрдЦрдорд╛ рдкрд░рд┐рдгрдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред

рд▓реЗрдЦрдорд╛ рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡рд╣рд░реВ рд░ рддреАрдирд╡рдЯрд╛ рд╕рдмреИрднрдиреНрджрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╡рд┐рд╡рд░рдг рд╕рдорд╛рд╡реЗрд╢ рдЫ рдЬреБрди рддрдкрд╛рдИрдВ рд░рд┐рд▓реЗрд╕рдирд▓ рдбрд╛рдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЙрдкрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рд╡рд┐рд╢реЗрд╖ Liquibase рдорд╛ рдкрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЬреБрдирд┐рдпрд░ рд░ рдордзреНрдп рд╕реНрддрд░рд╣рд░реВрдорд╛ Java рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ; рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рд╕рдВрд░рдЪрдирд╛ рд░ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЪрд╛рд╕реЛрдХреЛ рд╣реБрди рд╕рдХреНрдЫ рдЬреБрди рд╕рдореНрднрд╡рддрдГ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд╛рд╣рд╛ рдЫред

Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ

Liquibase рд░ Flyway рдЬрд╛рднрд╛ рд╕рдВрд╕рд╛рд░рдорд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдиреНрддреНрд░рдг рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдореБрдЦреНрдп рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд╣реБрдиреНред рдкрд╣рд┐рд▓реЛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдирд┐: рд╢реБрд▓реНрдХ рдЫ, рд╡реНрдпрд╡рд╣рд╛рд░рдорд╛ рдпреЛ рдкреНрд░рд╛рдпрдГ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЫрдиреМрдЯ рдЧрд░рд┐рдиреНрдЫ, рддреНрдпрд╕реИрд▓реЗ Liquibase рдкреНрд░рдХрд╛рд╢рдирдХреЛ рдирд╛рдпрдХрдХреЛ рд░реВрдкрдорд╛ рд░реЛрдЬрд┐рдПрдХреЛ рдерд┐рдпреЛред рдпрджреНрдпрдкрд┐, рддрдкрд╛рдЗрдБрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджреИ, рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рдХреЗрд╣реА рдЕрднреНрдпрд╛рд╕рд╣рд░реВ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╣реБрди рд╕рдХреНрдЫрдиреНред

рд░рд┐рд▓реЗрд╢рдирд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рд░рд┐рд▓реЗрд╢рдирд▓ рдбрд╛рдЯрд╛ рд╕реНрдЯреЛрд░рд╣рд░реВрдХреЛ рдХрдордЬреЛрд░ рд▓рдЪрд┐рд▓реЛрдкрдирд╕рдБрдЧ рд╕рдореНрдЭреМрддрд╛ рдЧрд░реНрди рдмрд╛рдзреНрдп рддрд░рд┐рдХрд╛ рд╣реЛред OOP рдлреЗрд╕рдирдХреЛ рдпреБрдЧрдорд╛, рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╢реИрд▓реАрдХреЛ рдЕрд░реНрде рд╣рд╛рдореАрд▓реЗ рд╕реНрдХрд┐рдорд╛рд▓рд╛рдИ рдПрдХ рдкрдЯрдХ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рд░ рдпрд╕рд▓рд╛рдИ рдлреЗрд░рд┐ рдЫреБрдиреЗ рдЫреИрдиред рддрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕рдзреИрдВ рдпреЛ рд╣реЛ рдХрд┐ рдЪреАрдЬрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫрдиреН, рд░ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рд╛рдпрдГ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫрдиреНред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдлреИ рдкреАрдбрд╛рджрд╛рдпреА рд░ рдЕрдкреНрд░рд┐рдп рд╣реБрди рд╕рдХреНрдЫред

рдо рддрдкрд╛рдЗрдБрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдкреБрд╕реНрддрдХрд╛рд▓рдп рдердкреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреА рд░ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рд╡рд┐рд╡рд░рдгрдорд╛ рдЧрд╣рд┐рд░реЛ рдЬрд╛рдиреЗрдЫреИрди; рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдзреЗрд░реИ рд▓реЗрдЦрд╣рд░реВ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЫрдиреН:

рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡рд╣рд░реВрдХреЛ рд╡рд┐рд╖рдпрдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ рдерд┐рдпреЛ:

╨б╨╛╨▓╨╡╤В╤Л

рдмрд╕рд╛рдЗрдБрд╕рд░рд╛рдЗрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рдирдХрд╛ рд▓рд╛рдЧрд┐ рдкрд╕рд┐рдирд╛, рд░рдЧрдд рд░ рдкреАрдбрд╛рд▓реЗ рдЬрдиреНрдорд┐рдПрдХрд╛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд░ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдмрд╛рдБрдбреНрди рдЪрд╛рд╣рдиреНрдЫреБ ред

1. рдХрд╛рдо рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреВрд▓рд╛рдИ рд╕рдмреИрднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдЕрднреНрдпрд╛рд╕ рдЦрдгреНрдбрдорд╛ рдкрд░рд┐рдЪрд┐рдд рдЧрд░реНрдиреБрдкрд░реНрдЫ рд╕рд╛рдЗрдЯ Liquibase

рддреНрдпрд╣рд╛рдБ рд╕рд░рд▓ рддрд░ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХреЛ рдмрд┐рдирд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рдкреНрд░рдпреЛрдЧрд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рдЬреАрд╡рдирд▓рд╛рдИ рдЬрдЯрд┐рд▓ рдмрдирд╛рдЙрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЕрд╕рдВрд░рдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рдврд┐рд▓реЛ рд╡рд╛ рдкрдЫрд┐ рднреНрд░рдо рд░ рднрд╛рдБрдЪрд┐рдПрдХреЛ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХреИ рд╕рдордпрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рд░ рд╕реЗрд╡рд╛ рддрд░реНрдХрдорд╛ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдкрдорд╛ рдирд┐рд░реНрднрд░ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрдиреБрд╣реБрдиреНрди рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдПрдХ рдЙрдЪреНрдЪ рд╕рдореНрднрд╛рд╡рдирд╛ рдЫ рдХрд┐ рдпрд╕рд▓реЗ рд░рд╛рддреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд╛ рдмрд┐рдЧреНрд░рд┐рдПрдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рдирд┐рдореНрддреНрдпрд╛рдЙрдиреЗрдЫред рдердк рд░реВрдкрдорд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рд┐рдлрд╛рд░рд┐рд╕рд╣рд░реВрдорд╛ рдореБрдЦреНрдп рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд▓рд┐рдкрд┐рд╣рд░реВрд╕рдБрдЧреИ рд░реЛрд▓рдмреНрдпрд╛рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ рд░ рдкрд░реАрдХреНрд╖рдгрдХреЛ рдмрд╛рд░реЗрдорд╛ рдПрдЙрдЯрд╛ рдХреНрд▓рдЬ рд╕рдорд╛рд╡реЗрд╢ рдЫред рдЦреИрд░, рд▓реЗрдЦрдорд╛ https://habr.com/ru/post/178665/ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд░ рд░реЛрд▓рдмреНрдпрд╛рдХ рдореЗрдХрд╛рдирд┐рдЬрдордХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫрдиреНред

2. рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдерд╛рд▓реНрдиреБрднрдпреЛ рднрдиреЗ, рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд╕реБрдзрд╛рд░рд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рдирджрд┐рдиреБрд╣реЛрд╕реН

рднрдирд╛рдЗ рдЕрдиреБрд╕рд╛рд░: "рдПрдХ рдкрдЯрдХ рдкрд░реНрд╕рд┐рд▓, рд╕рдзреИрдВ Persilред" рдпрджрд┐ рддрдкрд╛рдИрдВрдХреЛ рдЖрд╡реЗрджрдирдХреЛ рдЖрдзрд╛рд░ Liquibase рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реБрди рдерд╛рд▓реНрдЫ рднрдиреЗ, рдХреБрдиреИ рдкрдирд┐ рдореНрдпрд╛рдиреБрдЕрд▓ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓реЗ рддреБрд░реБрдиреНрддреИ рдЕрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐рдорд╛ рд▓реИрдЬрд╛рдиреНрдЫ, рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдорд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рдХреЛ рд╕реНрддрд░ рд╢реВрдиреНрдп рд╣реБрдиреНрдЫред рд╕рдореНрднрд╛рд╡рд┐рдд рдЬреЛрдЦрд┐рдорд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдмрд┐рддрд╛рдПрдХреЛ рдзреЗрд░реИ рдШрдгреНрдЯрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН; рд╕рдмреИрднрдиреНрджрд╛ рдЦрд░рд╛рдм рдЕрд╡рд╕реНрдерд╛рдорд╛, рдПрдХ рдореГрдд рд╕рд░реНрднрд░ред рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рддрдкрд╛рдЗрдБрдХреЛ рдЯреЛрд▓реАрдорд╛ "рдкреБрд░рд╛рдиреЛ рд╡рд┐рджреНрдпрд╛рд▓рдп" DBA рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЫ рднрдиреЗ, рдзреИрд░реНрдпрддрд╛рдкреВрд░реНрд╡рдХ рд░ рд╡рд┐рдЪрд╛рд░рдкреВрд░реНрд╡рдХ рдЙрд╕рд▓рд╛рдИ рдмреБрдЭрд╛рдЙрдиреБрд╣реЛрд╕реН рдХрд┐ рдпрджрд┐ рдЙрд╕рд▓реЗ рдХреЗрд╡рд▓ рд╕рд╢рд░реНрдд SQL рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдмрд╛рдЯ рдЖрдлреНрдиреИ рдмреБрдЭрд╛рдЗ рдЕрдиреБрд╕рд╛рд░ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрдЫ рднрдиреЗ рдХрддрд┐ рдЦрд░рд╛рдм рд╣реБрдиреЗрдЫред

3. рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рдкрд╣рд┐рд▓реЗ рдиреИ рднрдгреНрдбрд╛рд░рдорд╛ рдзрдХреЗрд▓рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рд╕рдореНрдкрд╛рджрдирдмрд╛рдЯ рдмрдЪреНрдиреБрд╣реЛрд▓рд╛

рдпрджрд┐ рдЕрд░реНрдХреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдкреБрд▓ рдмрдирд╛рдпреЛ рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рд▓рд╛рдЧреВ рдЧрд░реНрдпреЛ, рдЬреБрди рдкрдЫрд┐ рд╕рдореНрдкрд╛рджрди рдЧрд░рд┐рдиреЗрдЫ, рдЙрд╕рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рджрдпрд╛рд▓реБ рд╢рдмреНрджрдХреЛ рд╕рд╛рде рд╕рдореНрдЭрдиреЗрдЫ рдЬрдм рдЙрд╕рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░реБ рдЧрд░реНрджрд╛ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрд╛ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рд╡рд┐рдХрд╛рд╕рдорд╛ рдЪреБрд╣рд╛рд╡рдЯ рднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рд╣рдЯрдлрд┐рдХреНрд╕рд╣рд░реВрдХреЛ рдЪрд┐рдкреНрд▓реЛ рдврд▓рд╛рдирд▓рд╛рдИ рдкрдЫреНрдпрд╛рдЙрдиреБ рдкрд░реНрдЫред рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рд╛рд░ рд╣реНрдпрд╛рд╕ рдпреЛрдЧ - Liquibase рдХреЛ рдореБрдЦреНрдп рд╕рдВрдпрдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдорд╛ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред рдЪреЗрдиреНрдЬрд╕реЗрдЯ рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрд╛, рд╣реНрдпрд╛рд╕ рд░рдХрдо рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫред рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫ рддрдм рдорд╛рддреНрд░ рд╕рдореНрднрд╡ рдЫ рдЬрдм рд╕рдореНрдкреВрд░реНрдг рдбрд╛рдЯрд╛рдмреЗрд╕рд▓рд╛рдИ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдирдЧреБрдорд╛рдЙрди рд╕рдореНрднрд╡ рд╣реБрдиреНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, SQL рд╡рд╛ XML рдХреЛрдб рд░рд┐рдлреНрдпрд╛рдХреНрдЯрд░рд┐рдВрдЧрд▓реЗ, рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рдЬреАрд╡рдирд▓рд╛рдИ рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрди рд░ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВрд▓рд╛рдИ рдердк рдкрдвреНрди рдпреЛрдЧреНрдп рдмрдирд╛рдЙрди рд╕рдХреНрдЫред рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдПрдЙрдЯрд╛ рд╕реНрдерд┐рддрд┐ рд╣реБрдиреЗрдЫ рдЬрд╣рд╛рдБ, рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд╕реБрд░реБрдорд╛, рд╕реНрд░реЛрдд рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕реНрдХреАрдорд╛ рдЯреЛрд▓реА рднрд┐рддреНрд░ рд╕рд╣рдордд рднрдПрдХреЛ рдерд┐рдпреЛред

4. рд╕рдореНрднрд╡ рднрдПрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрд╣рд╛рдБ, рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ, рд╕рдмреИ рдХреБрд░рд╛ рд╕реНрдкрд╖реНрдЯ рдЫред рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЕрд╕рдлрд▓ рднрдпреЛ рднрдиреЗ, рд╕рдмреИ рдХреБрд░рд╛ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред Liquibase рд╕рдБрдЧ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд░реЛрд▓ рдмреНрдпрд╛рдХ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЙрдкрдХрд░рдг рдЫ, рддрд░ рд░реЛрд▓рдмреНрдпрд╛рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкрдирд┐ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдЖрдлреИрд▓реЗ рд▓реЗрдЦреЗрдХрд╛ рдЫрдиреН, рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдЬрд╕реНрддреИ рд╕рдореНрднрд╛рд╡реНрдпрддрд╛рд╕рдБрдЧ рд╕рдорд╕реНрдпрд╛ рд╣реБрди рд╕рдХреНрдЫред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдмреНрдпрд╛рдХрдЕрдк рд╕рдВрдЧ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд▓реЗ рдЧрд░реНрди рдЙрдкрдпреЛрдЧреА рдЫред

5. рд╕рдореНрднрд╡ рднрдПрдорд╛, рд╡рд┐рдХрд╛рд╕рдорд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдбрд╛рдЯрд╛рдмреЗрд╕ рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрджрд┐ рдпрд╕рд▓реЗ рд╕рдореНрдЭреМрддрд╛ рд░ рдЧреЛрдкрдиреАрдпрддрд╛рдХреЛ рд╡рд┐рд░реЛрдз рдЧрд░реНрджреИрди рднрдиреЗ, рдбреЗрдЯрд╛рдмреЗрд╕рдорд╛ рдХреБрдиреИ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрдЯрд╛ рдЫреИрди, рд░ рдпрд╕рд▓реЗ рджреБрдИ рд╕реВрд░реНрдп рдЬрддреНрддрд┐рдХреИ рддреМрд▓ рдЧрд░реНрджреИрди - рдпрд╕рд▓рд╛рдИ рдкреНрд░рддреНрдпрдХреНрд╖ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЕрдШрд┐, рддрдкрд╛рдЗрдБ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рдореЗрд╕рд┐рдирдорд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдЧрдгрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рд╕рдордпрдорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд▓рдЧрднрдЧ 100%ред

6. рдЯреЛрд▓реАрдорд╛ рдЕрдиреНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреА рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд░рд╛рдореНрд░реЛ рд╕рдВрдЧрдард┐рдд рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛, рдЯреЛрд▓реАрдорд╛ рд╕рдмреИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд╕рд▓реЗ рдХреЗ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫред рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рдкреНрд░рд╛рдп: рдорд╛рдорд▓рд╛ рд╣реЛрдЗрди, рддреНрдпрд╕реИрд▓реЗ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рднрд╛рдЧ рдХреЛ рд░реВрдк рдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рддреИрдпрд╛рд░реА рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рдпреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдореНрдкреВрд░реНрдг рдЯреАрдо рдХреЛ рдмрд╛рд░реЗ рдорд╛ рд╕реВрдЪрд┐рдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рд╕рд▓рд╛рд╣ рдЫред рдпрджрд┐ рдХрд╕реИрд▓реЗ рд╕рдорд╛рдирд╛рдиреНрддрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджреИрдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреБрдкрд░реНрдЫред рдпреЛ рдХрд╛рдо рд╕рдХрд┐рдПрдкрдЫрд┐ рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрд╕рдБрдЧ рдХреБрд░рд╛рдХрд╛рдиреА рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ, рд╕реБрд░реБрдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрдиред рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕рдВрдЧ рдзреЗрд░реИ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдЪрд░рдгрдорд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

7. рддрдкрд╛рдИ рдХреЗ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗрд░ рд╕реЛрдЪреНрдиреБрд╣реЛрд╕реН!

рдпреЛ рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреЗ рдЖрддреНрдо-рд╕реНрдкрд╖реНрдЯ рд╕рд▓реНрд▓рд╛рд╣ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рдпрджреНрдпрдкрд┐, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рдЖрдлреВрд▓реЗ рдХреЗ рдЧрд░рд┐рд░рд╣рдиреБрднрдПрдХреЛ рдЫ рд░ рдпрд╕рд▓реЗ рдХреЗ рдЕрд╕рд░ рдЧрд░реНрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдлреЗрд░рд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реЗрдХреЛ рднрдП рдзреЗрд░реИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЯрд╛рд░реНрди рд╕рдХрд┐рдиреНрдереНрдпреЛред рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдзреИрдВ рдердк рдзреНрдпрд╛рди рд░ рд╢реБрджреНрдзрддрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫред

рдЬрд╛рд▓

рдЕрдм рдорд╛рдерд┐рдХреЛ рд╕рд▓реНрд▓рд╛рд╣ рдкрд╛рд▓рдирд╛ рдирдЧрд░реЗрдорд╛ рддрдкрд╛рдИрдВ рдлрд╕реНрди рд╕рдХреНрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рд▓рд╣рд░реВ рд╣реЗрд░реМрдВ, рд░ рддрдкрд╛рдИрдВрд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреЗ рдЧрд░реНрдиреБрдкрд░реНрдЫ?

рд╕реНрдерд┐рддрд┐ 1: рджреБрдИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдПрдХреИ рд╕рдордпрдорд╛ рдирдпрд╛рдБ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдердкреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ рдЫрдиреН

Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ
Vasya рд░ Petya рдПрдХ-рдЕрд░реНрдХрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рдирдкрд╛рдИ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг 4 рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫрдиреНред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЧрд░реЗ рд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рдлрд╛рдЗрд▓рд╣рд░реВрд╕рдБрдЧ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдЧрд░реЗред рдирд┐рдореНрди рдХрд╛рд░реНрдп рд╕рдВрдпрдиреНрддреНрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЫ:

рдХрд╕рд░реА рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ

  1. рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛, рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЬрд╛рдиреЗ рдХреНрд░рдордорд╛ рд╕рд╣рдордд рд╣реБрдиреБрдкрд░реНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреЗрдЯрд┐рди рдкрд╣рд┐рд▓реЗ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрдкрд░реНрдЫред
  2. рдХрд╕реИрд▓реЗ рдЖрдлреИрдВрдорд╛ рджреЛрд╕реНрд░реЛ рдердкреНрдиреБ рдкрд░реНрдЫ рд░ рд╕рдВрд╕реНрдХрд░рдг 5 рд╕рдБрдЧ Vasya рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЙрдиреБ рдкрд░реНрдЫред рдпреЛ рдЪреЗрд░реА рдкрд┐рдХ рд╡рд╛ рд╕рдлрд╛ рдорд░реНрдЬ рдорд╛рд░реНрдлрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
  3. рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкрдЫрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рд▓рд┐рдЗрдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд╡реИрдзрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрдкрд░реНрдЫред
    рд╡рд╛рд╕реНрддрд╡рдорд╛, Liquibase рдореЗрдХрд╛рдирд┐рдЬрдорд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рднрдгреНрдбрд╛рд░рдорд╛ рджреБрдИ рд╕рдВрд╕реНрдХрд░рдг 4 рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд░рд╛рдЦреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддреНрдпреЛ рд╣реЛ, рддрдкрд╛рдЗрдБрд╕рдБрдЧ рд╕рдВрд╕реНрдХрд░рдг 4 рдорд╛ рдлрд░рдХ рдирд╛рдорд╣рд░реВрдХреЛ рд╕рд╛рде рджреБрдИрд╡рдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рд╛рде, рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдиреЗрднрд┐рдЧреЗрдЯ рдЧрд░реНрди рдкрдЫрд┐ рдпреЛ рдзреЗрд░реИ рдЧрд╛рд╣реНрд░реЛ рд╣реБрдиреНрдЫред

рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, Liquibase, hobbits рдХреЛ рдШрд░ рдЬрд╕реНрддреИ, рдзреЗрд░реИ рдЧреЛрдкреНрдп рд░рд╛рдЦреНрдЫред рддреА рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рд╣реЛ validCheckSum рдХреБрдЮреНрдЬреА, рдЬреБрди рд╕рдВрд╕реНрдХрд░рдг рез.рен рдорд╛ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ рд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рднрдПрддрд╛рдкрдирд┐, рдХреБрдиреИ рдЦрд╛рд╕ рдкрд░рд┐рд╡рд░реНрддрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡реИрдз рд╣реНрдпрд╛рд╕ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг https://www.liquibase.org/documentation/changeset.html рдирд┐рдореНрди рднрдиреНрдЫрдиреН:

рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдХреЗ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рднрдПрддрд╛рдкрдирд┐ рдпреЛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдиреНрдп рдорд╛рдирд┐рдиреЗ рдЪреЗрдХрд╕рдо рдердкреНрдиреБрд╣реЛрд╕реНред рдореБрдЦреНрдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдЬрдм рддрдкрд╛рдЗрдБ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫ рд░ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдлреНрдпрд╛рдБрдХрд┐рдПрдХреЛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди рдЬрд╕рдорд╛ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЪрд▓реЗрдХреЛ рдЫ (рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдЗрди)

рд╣реЛ, рд╣реЛ, рдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдПрдХ рдмрд▓рд┐рдпреЛ рдкреНрд░рдХрд╛рд╢ рдЬрд╛рджреВрдЧрд░рд▓реЗ рдЕрдБрдзреНрдпрд╛рд░реЛ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкрдирд┐ рдорд╛рд╕реНрдЯрд░ рдЧрд░реНрджрдЫ

рд╕реНрдерд┐рддрд┐ реи: рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЬреБрди рдбрд╛рдЯрд╛рдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫ

Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ

рдорд╛рдиреМрдВ рддрдкрд╛рдИрдВрд╕рдБрдЧ рд▓рд╛рдЗрдн рд╕рд░реНрднрд░рдмрд╛рдЯ рдбрд╛рдЯрд╛рдмреЗрд╕ рдмреНрдпрд╛рдХрдЕрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЫреИрдиред Petya рд▓реЗ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдпреЛ, рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрдпреЛ рд░, рдЙрдиреА рд╕рд╣реА рдерд┐рдП рднрдиреНрдиреЗ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡рд╛рд╕рдХрд╛ рд╕рд╛рде, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓рд╛рдИ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЧрд░реЗред рдХреЗрд╡рд▓ рдХреЗ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗрддреГрддреНрд╡рд▓реЗ рд╕реНрдкрд╖реНрдЯ рдЧрд░реНрдпреЛ рдХрд┐ рдкреЗрдЯрд┐рдпрд╛рд▓реЗ рдпрд╕рд▓рд╛рдИ рдЬрд╛рдБрдЪ рдЧрд░реЗрдХреЛ рдерд┐рдпреЛ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдердкрд┐рдпреЛред рддрд░ рд╡рд┐рдХрд╛рд╕ рд╕рд░реНрднрд░рдорд╛ рддреИрдирд╛рддреА рдШрдЯреНрдпреЛред

рд╡рд╛рд╕реНрддрд╡рдорд╛, рдпреЛ рд╕рдореНрднрд╡ рдЫ, рд░ рдХреЛрд╣реА рдкрдирд┐ рдпрд╕рдмрд╛рдЯ рдкреНрд░рддрд┐рд░рдХреНрд╖рд╛ рдЫреИрдиред рдпреЛ рддрдм рд╣реБрдиреНрдЫ рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдкрд░рд┐рдорд╛рд░реНрдЬрдирд╣рд░реВ рдХреБрдиреИ рди рдХреБрдиреИ рд░реВрдкрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдмрд╛рдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рд╣реБрдиреНрдЫред рдЬрд╛рд╣рд┐рд░ рдЫ, рдпрджрд┐ рдкреЗрдЯрд┐рдпрд╛рдХреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдкрд░реАрдХреНрд╖рдг рдбрд╛рдЯрд╛рд▓реЗ рдорд╛рддреНрд░ рднрд░рд┐рдПрдХреЛ рдЫ, рддрдм рдпрд╕рд▓реЗ рд╕рдмреИ рд╕рдорд╕реНрдпрд╛рдХрд╛ рдХреЗрд╕рд╣рд░реВрд▓рд╛рдИ рд╕рдореЗрдЯреНрди рд╕рдХреНрджреИрдиред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдЯрд╛рдЙрдБрджрд╛, рд╡рд┐рджреЗрд╢реА рдХреБрдЮреНрдЬреАрджреНрд╡рд╛рд░рд╛ рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдорд╛ рд░реЗрдХрд░реНрдбрд╣рд░реВ рдЫрдиреН рдЬреБрди рдореЗрдЯрд╛рдЗрдПрдХрд╛ рд░реЗрдХрд░реНрдбрд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреНред рд╡рд╛ рд╕реНрддрдореНрдн рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрд╛, рдпреЛ рдерд╛рд╣рд╛ рд╣реБрдиреНрдЫ рдХрд┐ рдбрд╛рдЯрд╛рдХреЛ 100% рдирдпрд╛рдБ рдкреНрд░рдХрд╛рд░рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред

рдХрд╕рд░реА рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ

  • рд╡рд┐рд╢реЗрд╖ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН рдЬреБрди рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╕рдБрдЧреИ рдПрдХ рдкрдЯрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫ рд░ рдбрд╛рдЯрд╛рд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рдлрд╛рд░рдордорд╛ рд▓реНрдпрд╛рдЙрдиреБрд╣реЛрд╕реНред рдпреЛ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд▓рд╛рдЧреВ рдЧрд░реЗрдкрдЫрд┐ рдирдпрд╛рдБ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддрд░рд┐рдХрд╛ рд╣реЛ, рддрд░ рд╡рд┐рд╢реЗрд╖ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдкрд╣рд┐рд▓реЗ рдкрдирд┐ рдпрд╕реНрддреИ рдХреБрд░рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпреЛ рдорд╛рд░реНрдЧ, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд╕рдзреИрдВ рдЙрдкрд▓рдмреНрдз рдЫреИрди, рдХрд┐рдирднрдиреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рд╕рдореНрдкрд╛рджрди рдЦрддрд░рдирд╛рдХ рд░ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдкрдирд┐ рд╣реБрди рд╕рдХреНрдЫред
  • рдЕрд░реНрдХреЛ рдХрдард┐рди рддрд░рд┐рдХрд╛ рдЕрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБ рд╣реЛред рдХрдард┐рдирд╛рдИ рдпреЛ рдЫ рдХрд┐ рд╕рдмреИ рдбрд╛рдЯрд╛рдмреЗрд╕рд╣рд░реВ рдЬрд╣рд╛рдБ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдпрд╕рдХреЛ рдЕрд╡рд╕реНрдерд┐рдд рдлрд╛рд░рдордорд╛ рд▓рд╛рдЧреВ рднрдЗрд╕рдХреЗрдХреЛ рдЫ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред рдпреЛ рд╕рдореНрднрд╡ рдЫ рдХрд┐ рд╕рдореНрдкреВрд░реНрдг рдмреНрдпрд╛рдХрдПрдиреНрдб рдЯреЛрд▓реАрд▓рд╛рдИ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рдбрд╛рдЯрд╛рдмреЗрд╕ рд░реЛрд▓ рдЖрдЙрдЯ рдЧрд░реНрди рдмрд╛рдзреНрдп рдЧрд░рд┐рдиреЗрдЫред
  • рд░ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддрд░рд┐рдХрд╛ рднрдиреЗрдХреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдбрд╛рдЯрд╛рдХреЛ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБ рд╣реЛ, рдЙрд╣реА рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБ рд░ рдирдпрд╛рдБ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯ рдердкреНрдиреБ, рднрд╛рдБрдЪрд┐рдПрдХреЛрдорд╛, рдЬрд╕рд▓реЗ рд╕рдорд╕реНрдпрд╛рд▓рд╛рдИ рд░реЛрдХреНрдиреЗрдЫред
    Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЙрддреНрдкрд╛рджрди рд╕рд░реНрднрд░ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдЬрддрд┐ рдзреЗрд░реИ рд╕рдорд╛рди рд╣реБрдиреНрдЫ, рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЯрд╛рдврд╛ рдЬрд╛рдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдХрдо рд╣реБрдиреНрдЫред рд░, рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддрдкрд╛рдИрдВрд▓реЗ рднрдгреНрдбрд╛рд░рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкрдард╛рдЙрдиреБ рдЕрдШрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдкрдЯрдХ рд╕реЛрдЪреНрдиреБрдкрд░реНрдЫ рдХрд┐ рдпрд╕рд▓реЗ рдХреЗрд╣рд┐ рддреЛрдбреНрдЫ рдХрд┐ рд╕рдХреНрджреИрдиред

рд╕реНрдерд┐рддрд┐ 3. Liquibase рдЙрддреНрдкрд╛рджрдирдорд╛ рдЧрдП рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕реБрд░реБ рд╣реБрдиреНрдЫ

рдорд╛рдиреМрдВ рдХрд┐ рдЯреЛрд▓реАрдХреЛ рдиреЗрддреГрддреНрд╡рд▓реЗ рдкреЗрдЯрд┐рдпрд╛рд▓рд╛рдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рднрдиреНрдпреЛ, рддрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрддреНрдкрд╛рджрдирдорд╛ рдЫ рд░ рддреНрдпрд╣рд╛рдБ рдЕрд╡рд╕реНрдерд┐рдд рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдЫред

рддрджрдиреБрд╕рд╛рд░, рд╕рдорд╕реНрдпрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдХреБрдиреИ рдкрдирд┐ рдирдпрд╛рдБ рд╕рд░реНрднрд░ рд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдореЗрд╕рд┐рдирд╣рд░реВрдорд╛, рдпреА рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рд╕реНрдХреНрд░реНрдпрд╛рдЪрдмрд╛рдЯ рдкреБрди: рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ, рд░ рдЕрд╡рд╕реНрдерд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдПрдХ рд╕реБрд╕рдВрдЧрдд рдЕрд╡рд╕реНрдерд╛рдорд╛ рд░рд╣рдиреБрдкрд░реНрдЫ, рдирдпрд╛рдБ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рддрдпрд╛рд░ рд╣реБрдиреБрдкрд░реНрдЫред

рдХрд╕рд░реА рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ

рддреНрдпрд╣рд╛рдБ рдкрдирд┐ рдзреЗрд░реИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН:

  • рдкрд╣рд┐рд▓реЛ рд░ рд╕рдмреИрднрдиреНрджрд╛ рд╕реНрдкрд╖реНрдЯ рдПрдЙрдЯрд╛ рдЫреБрдЯреНрдЯреИ рд▓рд┐рдкрд┐ рд╣реБрдиреБ рд╣реЛ рдЬреБрди рдирдпрд╛рдБ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реБрд░реБ рдЧрд░реНрджрд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрдкрд░реНрдЫред
  • рджреЛрд╕реНрд░реЛ рдХрдо рд╕реНрдкрд╖реНрдЯ рдЫ, рдПрдХ Liquibase рдорд╛рдЗрдЧреНрд░реЗрд╕рди рдЫ рдЬреБрди рдЕрд░реНрдХреЛ Liquibase рд╕рдиреНрджрд░реНрднрдорд╛ рдЫ, рд░ рдпрд╕рд▓рд╛рдИ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдВ рдпрд╣рд╛рдБ Liquibase рд╕рдиреНрджрд░реНрдн рдмрд╛рд░реЗ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: https://www.liquibase.org/documentation/contexts.htmlред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдпреЛ рдПрдХ рд░реЛрдЪрдХ рд╕рдВрдпрдиреНрддреНрд░ рд╣реЛ рдЬреБрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкрд░реАрдХреНрд╖рдгрдХреЛ рд▓рд╛рдЧрд┐ред
  • рддреЗрд╕реНрд░реЛ рдорд╛рд░реНрдЧрдорд╛ рдзреЗрд░реИ рдЪрд░рдгрд╣рд░реВ рдЫрдиреНред рдкрд╣рд┐рд▓реЗ, рдЕрд╡рд╕реНрдерд┐рдд рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫред рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдХреЗрд╣рд┐ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ рд░ рдпрд╕рд░реА рдпрд╕рдХреЛ рд╣реНрдпрд╛рд╕ рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рд╣реБрдиреЗрдЫред рдЕрд░реНрдХреЛ рдЪрд░рдг рд╣рд╛рдореНрд░реЛ рдЧреИрд░-рдЦрд╛рд▓реА рд╕рд░реНрднрд░рдорд╛ рдЦрд╛рд▓реА Liquibase рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрдиреБ рд╣реЛ, рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╕реЗрдЯрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рдЗрддрд┐рд╣рд╛рд╕рдХреЛ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд╕рдБрдЧ "рдЬрд╕реНрддреИ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ" рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд░реЗрдХрд░реНрдб рд░рд╛рдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред ред рдпрд╕рд░реА, рдЕрд╡рд╕реНрдерд┐рдд рд╕рд░реНрднрд░рдорд╛, рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛рдЙрдиреНрдЯрдбрд╛рдЙрди рд╕рдВрд╕реНрдХрд░рдг реи рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреЗрдЫ, рд░ рд╕рдмреИ рдирдпрд╛рдБ рд╡рд╛рддрд╛рд╡рд░рдгрд╣рд░реВрд▓реЗ рд╕рдорд╛рди рд░реВрдкрдорд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдиреЗрдЫрдиреНред
    Liquibase рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреБрдЯреНрдЯрд╛рдорд╛ рдЖрдлреИрд▓рд╛рдИ рдЧреЛрд▓реА рд╣рд╛рдиреНрдирдмрд╛рдЯ рдХрд╕рд░реА рдмрдЪреНрдиреЗ

рд╕реНрдерд┐рддрд┐ 4. рдмрд╕рд╛рдЗрд╕рд░рд╛рдИрд╣рд░реВ рдареВрд▓реЛ рд╣реБрдиреНрдЫрдиреН рд░ рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдордп рд╣реБрдБрджреИрди

рд╕реЗрд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд╕реБрд░реБрдорд╛, рдПрдХ рдирд┐рдпрдордХреЛ рд░реВрдкрдорд╛, Liquibase рдмрд╛рд╣реНрдп рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ рд╕рдмреИ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдиреНрдЫ рдЬрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░реБ рд╣реБрдиреНрдЫред рдЬреЗ рд╣реЛрд╕реН, рд╕рдордпрдХреЛ рд╕рд╛рдердорд╛, рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдХреЗрд╕рд╣рд░реВрдорд╛ рдареЛрдХрд░ рд▓рд╛рдЧреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

  • рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рдареВрд▓реЛ рд╣реБрдиреНрдЫрдиреН рд░ рдкреВрд░рд╛ рд╣реБрди рд▓рд╛рдореЛ рд╕рдордп рд▓рд╛рдЧреНрдЫред
  • рддреНрдпрд╣рд╛рдБ рд╡рд┐рддрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдПрдХреИ рд╕рд╛рде рдзреЗрд░реИ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рд░реНрднрд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ред
    рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдзреЗрд░реИ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░реБ рд╣реБрдБрджрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реБрдиреЗрдЫред рдердк рд░реВрдкрдорд╛, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгрдорд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджрд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрднрд░рд╣рд░реВ рд╕рд┐рдВрдХ рдмрд╛рд╣рд┐рд░ рд╣реБрди рд╕рдХреНрдЫред

рдХрд╕рд░реА рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ

рдпрд╕реНрддреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рддрдкрд╛рдИрдВрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдареВрд▓реЛ рдЫ, рд╕рд╛рдпрдж рдПрдХ рд╡рдпрд╕реНрдХ рдкрдирд┐, рд░ Liquibase рдПрдХ рдЕрд▓рдЧ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрди рдерд╛рд▓реНрдЫред рддрдереНрдп рдпреЛ рд╣реЛ рдХрд┐ Liquibase рд▓рд╛рдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдХреЛ рд░реВрдкрдорд╛ рдЬрд╛рд░ рдлрд╛рдЗрд▓рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрд┐рддреНрд░ рд╡рд╛ рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдкрдорд╛ рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫред

рд╕реНрдЯреНрдпрд╛рдиреНрдбрдЕрд▓реЛрди рдореЛрдбрдорд╛, рддрдкрд╛рдИрдВ рдЖрдлреНрдиреЛ CI/CD рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╡рд╛ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВ рд░ рддреИрдирд╛рддреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрдХреЛ рдмрд▓рд┐рдпреЛ рдХрд╛рдБрдзрд╣рд░реВрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ Liquibase рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЪрд╛рд╣рд┐рдиреНрдЫ https://www.liquibase.org/documentation/command_line.htmlред рдпрд╕ рдореЛрдбрдорд╛, рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирд╣рд░реВ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реБрд░реВ рдЧрд░реНрди рд╕рдореНрднрд╡ рд╣реБрдиреНрдЫред

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рд╡рд╛рд╕реНрддрд╡рдорд╛, рдбрд╛рдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╕рдирдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрджрд╛ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдердк рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН, рд░ рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдзреЗрд░реИрд▓рд╛рдИ рд░рдЪрдирд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪрд╛рд╣рд┐рдиреНрдЫред рдпреЛ рдмреБрдЭреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЙрдкрдХрд░рдгрд▓рд╛рдИ рд╕рд╣реА рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреА рдкреНрд░рд╛рдпрдГ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдмрд╛рдЯ рдмрдЪреНрди рд╕рдХрд┐рдиреНрдЫред рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛, рдореИрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкрд╣рд░реВрдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреБрдкрд░реНтАНрдпреЛ, рд░ рддреАрдордзреНрдпреЗ рдХреЗрд╣реА рдореЗрд░рд╛ рдЧрд▓реНрддреАрд╣рд░реВрдХреЛ рдкрд░рд┐рдгрд╛рдо рдерд┐рдПред рдкреНрд░рд╛рдпрдГ рдпреЛ рд╣реБрдиреНрдЫ, рдЕрд╡рд╢реНрдп рдкрдирд┐, рдмреЗрд╡рд╛рд╕реНрддрд╛рдХреЛ рдХрд╛рд░рдг, рддрд░ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрдкрд░рд╛рдзрд┐рдХ рдЕрд╕рдХреНрд╖рдорддрд╛рдХреЛ рдХрд╛рд░рдгред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди