{"id":65454,"date":"2024-06-06T22:49:53","date_gmt":"2024-06-06T19:19:53","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%d9%85%d9%87%d8%a7%d8%ac%d8%b1%d8%aa-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%da%af%d8%a7%d9%87-%d8%af%d8%a7%d8%af%d9%87-flyway-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c\/"},"modified":"2024-06-06T22:49:53","modified_gmt":"2024-06-06T19:19:53","slug":"%d9%85%d9%87%d8%a7%d8%ac%d8%b1%d8%aa-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%da%af%d8%a7%d9%87-%d8%af%d8%a7%d8%af%d9%87-flyway-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%d9%85%d9%87%d8%a7%d8%ac%d8%b1%d8%aa-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%da%af%d8%a7%d9%87-%d8%af%d8%a7%d8%af%d9%87-flyway-%d8%a8%d8%b1%d8%a7%db%8c-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c\/","title":{"rendered":"\u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627\u06cc \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647: Flyway \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc Spring Boot"},"content":{"rendered":"<p><\/p>\n<div data-article-id=\"1875534\" id=\"article-body\">\n<p>\u0645\u0627\u0646\u0646\u062f Liquibase\u060c Flyway \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u062f\u0648 \u0631\u0648\u0634 \u0627\u0635\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc Spring Boot \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u060c \u0686\u0647 \u062f\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0646\u062d\u0648\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Flyway \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0686\u0627\u0631\u0686\u0648\u0628 \u067e\u0631\u0648\u0698\u0647 Spring Boot \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u0648 \u0645\u0631\u062d\u0644\u0647 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0631 \u0645\u062e\u0632\u0646 \u0645\u0648\u062c\u0648\u062f \u062f\u0631: \u0645\u062e\u0632\u0646 Github \u0628\u06cc\u0627\u0628\u06cc\u062f.<\/p>\n<p><strong>\u0645\u0641\u0627\u0647\u06cc\u0645 \u0627\u0633\u0627\u0633\u06cc Flyway<\/strong> <\/p>\n<p><em>\u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u0648 \u0645\u0647\u0627\u062c\u0631\u062a<\/em> :<\/p>\n<p>\u0645\u0647\u0627\u062c\u0631\u062a \u06a9\u0648\u0686\u06a9\u062a\u0631\u06cc\u0646 \u0648\u0627\u062d\u062f \u062a\u063a\u06cc\u06cc\u0631 \u0642\u0627\u0628\u0644 \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0633\u062a \u06a9\u0647 Flyway \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u062f \u0648 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0647\u062f\u0641 \u062b\u0628\u062a \u06a9\u0646\u062f \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u0639\u0645\u0644\u06cc\u0627\u062a \u0648\u0627\u0642\u0639 \u062f\u0631 \u0641\u0627\u06cc\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u0628\u0627\u0634\u062f.<\/p>\n<p>\u06cc\u06a9 \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 Flyway \u0645\u0639\u0627\u062f\u0644 \u06cc\u06a9 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u062f\u0631 Liquibase \u0627\u0633\u062a\u060c \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 Flyway \u0628\u0631\u0627\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u062a\u0646\u0647\u0627 \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0646\u0638\u0631 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0648 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 Liquibase \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0645\u06cc\u0632\u0628\u0627\u0646 \u0686\u0646\u062f\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u0628\u0627\u0634\u062f. <\/p>\n<p>\u062f\u0631 Flyway \u0627\u062c\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0631\u062a \u0645\u0639\u0627\u062f\u0644 \u0627\u062c\u0631\u0627\u06cc \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0647\u0627\u062c\u0631\u062a \u0645\u06cc\u0632\u0628\u0627\u0646 \u0622\u0646 \u0645\u0647\u0627\u062c\u0631\u062a \u0627\u0633\u062a.<\/p>\n<p><em>\u062c\u062f\u0648\u0644 flyway_schema_history<\/em> : <\/p>\n<p>\u0627\u06cc\u0646 \u062c\u062f\u0648\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 Flyway \u0631\u0648\u06cc \u06cc\u06a9 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0631\u062f\u06cc\u0627\u0628\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u0631 \u0622\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0647\u062f\u0641 \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0628\u0647 \u0637\u0648\u0631\u06cc \u06a9\u0647 \u0647\u0645\u0627\u0646 \u0645\u0647\u0627\u062c\u0631\u062a \u0631\u0627 \u0686\u0646\u062f\u06cc\u0646 \u0628\u0627\u0631 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0686\u0647 \u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627\u06cc\u06cc \u0628\u0627\u06cc\u062f \u062f\u0631 \u06cc\u06a9 \u0646\u0642\u0637\u0647 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f \u0622\u06af\u0627\u0647 \u0628\u0627\u0634\u062f. \u0632\u0645\u0627\u0646 (\u0622\u0646\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u062c\u062f\u0648\u0644 \u062a\u0627\u0631\u06cc\u062e \u062b\u0628\u062a \u0646\u0634\u062f\u0647 \u0627\u0646\u062f).<\/p>\n<p>\u0647\u0631 \u0645\u0647\u0627\u062c\u0631\u062a \u0628\u0627 \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0641\u0627\u06cc\u0644 \u0645\u0647\u0627\u062c\u0631\u062a\u06cc \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc \u0634\u0648\u062f.  \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 Flyway \u06cc\u06a9 \u0645\u0647\u0627\u062c\u0631\u062a \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u062f\u060c \u06cc\u06a9 \u0639\u062f\u062f \u0686\u06a9 \u062c\u0645\u0639 \u0628\u0631\u0627\u06cc \u0645\u062d\u062a\u0648\u0627\u06cc \u0622\u0646 \u0645\u0647\u0627\u062c\u0631\u062a \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u062c\u062f\u0648\u0644 flyway_schema_history \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u062f \u06a9\u0647 \u0647\u0645\u0627\u0646 \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f. <\/p>\n<p>\u0627\u06af\u0631 Flyway \u0645\u062a\u0648\u062c\u0647 \u0634\u0648\u062f \u06a9\u0647 \u06cc\u06a9 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u067e\u0633 \u0627\u0632 \u0627\u0639\u0645\u0627\u0644 \u0628\u0627 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0686\u06a9\u200c\u0633\u0627\u0645\u200c\u0647\u0627 \u0627\u0635\u0644\u0627\u062d \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062f\u0631 \u0637\u0648\u0644 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u0628\u0627 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<p><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u0634\u062a\u0631\u06a9<\/strong> <\/p>\n<p>\u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u062f\u0631 \u0641\u0647\u0631\u0633\u062a \u0645\u0646\u0627\u0628\u0639 \u067e\u0631\u0648\u0698\u0647 \u0627\u0633\u062a\u060c \u0633\u067e\u0633 \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u067e\u0631 \u06a9\u0646\u06cc\u062f\u060c \u062f\u0631 \u0645\u062b\u0627\u0644\u06cc \u06a9\u0647 \u0646\u0627\u0645 \u0622\u0646 \u0631\u0627 db\/migrations \u06af\u0630\u0627\u0634\u062a\u0647 \u0627\u0645: <\/p>\n<ul>\n<li>V1_creating_persons_table.sql<\/li>\n<li>V2_inserting_rows_into_persons_table.sql<\/li>\n<\/ul>\n<p><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Flyway \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647<\/strong> <\/p>\n<p>\u0627\u06cc\u0646 \u0646\u0648\u0639 \u0631\u0641\u062a\u0627\u0631 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u062a\u0648\u0633\u0639\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0628\u0627\u06cc\u062f \u0648\u0636\u0639\u06cc\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u200c\u0627\u06cc \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u0645\u0627\u0634\u06cc\u0646 \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u062f\u0627\u0631\u062f \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u062f.  Spring Boot \u0628\u0631\u062e\u06cc \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u0647\u0627\u062c\u0631\u062a Flyway \u0647\u0646\u06af\u0627\u0645 \u0634\u0631\u0648\u0639 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0622\u0646 \u06a9\u0627\u0631 \u06a9\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 Spring Boot \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0645\u062d\u06cc\u0637 \u0647\u0627\u06cc \u0645\u062d\u0644\u06cc (application-local.yml) \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0645\u0627\u0646\u0646\u062f \u0645\u06a9\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u062a\u0635\u0627\u0644 \u0648 \u0645\u06a9\u0627\u0646 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0645\u0633\u06cc\u0631 \u06a9\u0644\u0627\u0633 \u0628\u0631\u0646\u0627\u0645\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>spring:\n  datasource:\n    url: jdbc:postgresql:\/\/localhost:5432\/flyway_demo\n    username: postgres\n    password: changemeinproduction\n    driver-class-name: org.postgresql.Driver\n  jpa:\n    hibernate:\n      ddl-auto: none\n  flyway:\n    locations: classpath:db\/migrations\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u0628\u0627\u06cc\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc flyway \u0631\u0627 \u062f\u0631 \u0641\u0627\u06cc\u0644 pom.xml \u067e\u0631\u0648\u0698\u0647 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645 (\u0627\u06af\u0631 \u0627\u0632 Gradle \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f \u0641\u0627\u06cc\u0644 build.gradle):<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code><dependency>\n            <groupid>org.flywaydb<\/groupid>\n            <artifactid>flyway-core<\/artifactid>\n<\/dependency>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 Spring Boot \u0645\u062a\u0648\u062c\u0647 \u0648\u062c\u0648\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc Flyway \u0628\u0647 \u0645\u0633\u06cc\u0631 \u06a9\u0644\u0627\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a fi,le \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0647 \u0645\u0633\u0626\u0648\u0644 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0633\u062a\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0646\u0645\u0648\u0646\u0647\u200c\u0627\u06cc \u0627\u0632 \u0622\u0646\u0686\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0646\u06af\u0627\u0645 \u0634\u0631\u0648\u0639 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u06af\u0632\u0627\u0631\u0634\u200c\u0647\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>2024-06-06T19:01:09.407+01:00  INFO 3229 --- [           main] org.flywaydb.core.FlywayExecutor         : Database: jdbc:postgresql:\/\/localhost:5432\/flyway_demo (PostgreSQL 16.0)\n2024-06-06T19:01:09.428+01:00  WARN 3229 --- [           main] o.f.c.internal.database.base.Database    : Flyway upgrade recommended: PostgreSQL 16.0 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 15.\n2024-06-06T19:01:09.450+01:00  INFO 3229 --- [           main] o.f.c.i.s.JdbcTableSchemaHistory         : Schema history table \"public\".\"flyway_schema_history\" does not exist yet\n2024-06-06T19:01:09.453+01:00  INFO 3229 --- [           main] o.f.core.internal.command.DbValidate     : Successfully validated 2 migrations (execution time 00:00.015s)\n2024-06-06T19:01:09.486+01:00  INFO 3229 --- [           main] o.f.c.i.s.JdbcTableSchemaHistory         : Creating Schema History table \"public\".\"flyway_schema_history\" ...\n2024-06-06T19:01:09.538+01:00  INFO 3229 --- [           main] o.f.core.internal.command.DbMigrate      : Current version of schema \"public\": &lt;&lt; Empty Schema &gt;&gt;\n2024-06-06T19:01:09.547+01:00  INFO 3229 --- [           main] o.f.core.internal.command.DbMigrate      : Migrating schema \"public\" to version \"1 - creating persons table\"\n2024-06-06T19:01:09.606+01:00  INFO 3229 --- [           main] o.f.core.internal.command.DbMigrate      : Migrating schema \"public\" to version \"2 - inserting rows into persons table\"\n2024-06-06T19:01:09.647+01:00  INFO 3229 --- [           main] o.f.core.internal.command.DbMigrate      : Successfully applied 2 migrations to schema \"public\", now at version v2 (execution time 00:00.042s)\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Flyway \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647<\/strong><\/p>\n<p>\u0627\u06cc\u0646 \u0631\u0641\u062a\u0627\u0631 \u0632\u0645\u0627\u0646\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0646\u0633\u062e\u0647 \u062c\u062f\u06cc\u062f\u06cc \u0627\u0632 \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0622\u0645\u0627\u062f\u0647 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0648 \u0628\u0627\u06cc\u062f \u062a\u0639\u062f\u0627\u062f\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0622\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f.<\/p>\n<p>Maven \u06cc\u06a9 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627\u06cc Flyway \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f\u060c \u0627\u06cc\u0646 \u0627\u0641\u0632\u0648\u0646\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u06a9\u0627\u0646 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647\u060c \u0646\u0627\u0645 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0648 \u0631\u0645\u0632 \u0639\u0628\u0648\u0631 \u0627\u062a\u0635\u0627\u0644 \u0648 \u0645\u06a9\u0627\u0646 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0631\u0648\u0634\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0622\u0646 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0646\u0627\u0645\u06af\u0630\u0627\u0631\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a. flyway.conf \u0628\u0647 \u067e\u0648\u0634\u0647 \u0645\u0646\u0627\u0628\u0639 \u067e\u0631\u0648\u0698\u0647 Spring Boot \u0648 \u0633\u067e\u0633 \u0647\u0646\u06af\u0627\u0645 \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u0641\u0632\u0648\u0646\u0647 flyway maven \u0628\u0627 \u0627\u0634\u0627\u0631\u0647 \u0628\u0647 \u0645\u06a9\u0627\u0646 \u0622\u0646 \u0641\u0627\u06cc\u0644 \u062f\u0631 pom.xml:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>flyway.user=postgres\nflyway.password=changemeinproduction\nflyway.schemas=demo_flyway\nflyway.url=jdbc:postgresql:\/\/localhost:5432\/demo_flyway\nflyway.locations=src\/main\/resources\/db\/migrations\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code><build>\n  <plugins>\n      <plugin>\n         <groupid>org.flywaydb<\/groupid>\n         <artifactid>flyway-maven-plugin<\/artifactid>\n         <version>6.5.7<\/version>\n         <configuration>\n           <configfiles>\n             <configfile>\n               src\/main\/resources\/flyway.conf\n             <\/configfile>\n           <\/configfiles>\n         <\/configuration>\n      <\/plugin>\n  <\/plugins>\n<\/build>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0641\u0632\u0648\u0646\u0647 Flyway maven \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u0648\u06cc\u0698\u06af\u06cc spring.flyway.enabled \u0631\u0627 \u0631\u0648\u06cc false \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u0634\u0648\u062f \u0647\u06cc\u0686 \u0645\u0647\u0627\u062c\u0631\u062a\u06cc \u0627\u062c\u0631\u0627 \u0646\u0634\u0648\u062f: <\/p>\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0627\u06cc\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u0647\u0627 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>.\/mvnw flyway:migrate\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0648 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0644\u0627\u06af\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0645\u0647\u0627\u062c\u0631\u062a\u200c\u0647\u0627 \u0628\u0627 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>[INFO] Scanning for projects...\n[INFO] \n[INFO] ---------------------&lt; ma.demo.flyway:flyway-demo &gt;---------------------\n[INFO] Building flyway-demo 1.0-SNAPSHOT\n[INFO] --------------------------------[ jar ]---------------------------------\n[INFO] \n[INFO] --- flyway-maven-plugin:6.5.7:migrate (default-cli) @ flyway-demo ---\n[INFO] Flyway Community Edition 6.5.7 by Redgate\n[INFO] Database: jdbc:postgresql:\/\/localhost:5432\/flyway_demo (PostgreSQL 16.0)\n[WARNING] Flyway upgrade recommended: PostgreSQL 16.0 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 12.\n[INFO] Creating schema \"flyway_demo\" ...\n[INFO] Creating Schema History table \"flyway_demo\".\"flyway_schema_history\" ...\n[INFO] Current version of schema \"flyway_demo\": null\n[INFO] Migrating schema \"flyway_demo\" to version 1 - creating persons table\n[INFO] Migrating schema \"flyway_demo\" to version 2 - inserting rows into persons table\n[INFO] Successfully applied 2 migrations to schema \"flyway_demo\" (execution time 00:00.066s)\n[WARNING] Flyway upgrade recommended: PostgreSQL 16.0 is newer than this version of Flyway and support has not been tested. The latest supported version of PostgreSQL is 12.\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n[INFO] Total time:  0.797 s\n[INFO] Finished at: 2024-06-06T19:04:59+01:00\n[INFO] ------------------------------------------------------------------------\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0646\u062a\u06cc\u062c\u0647<\/strong><br \/>Flyway \u0645\u0647\u0627\u062c\u0631\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u0639\u0645\u0627\u0644 \u0645\u062f\u0627\u0648\u0645 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0633\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 Spring Boot\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0641\u0631\u0622\u06cc\u0646\u062f \u0645\u0647\u0627\u062c\u0631\u062a \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u062f\u063a\u0627\u0645 \u06a9\u0631\u062f \u0648 \u0627\u06cc\u0646 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u062a\u0645\u0631\u06a9\u0632 \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0648\u06cc \u0627\u06cc\u062c\u0627\u062f \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u062f\u0648\u0646 \u0646\u06af\u0631\u0627\u0646\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0648\u0636\u0639\u06cc\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u067e\u0627\u06cc\u06af\u0627\u0647 \u0647\u0627\u06cc \u062f\u0627\u062f\u0647<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0627\u0646\u0646\u062f Liquibase\u060c Flyway \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u062f\u0648 \u0631\u0648\u0634 \u0627\u0635\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc Spring Boot \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u060c \u0686\u0647 \u062f\u0631 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u06cc\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0646\u062d\u0648\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc Flyway \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0686\u0627\u0631\u0686\u0648\u0628 \u067e\u0631\u0648\u0698\u0647 Spring Boot \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u0648 \u0645\u0631\u062d\u0644\u0647 \u062a\u0648\u0633\u0639\u0647 \u0648 \u0627\u0646\u062a\u0634\u0627\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u06cc\u062f\u060c &hellip;<\/p>\n","protected":false},"author":2,"featured_media":65455,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media.dev.to\/cdn-cgi\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6c74m647me7pxmulme2.png","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-65454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/65454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=65454"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/65454\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/65455"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=65454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=65454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=65454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}