{"id":40308,"date":"2023-08-09T23:46:01","date_gmt":"2024-01-11T09:43:05","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/"},"modified":"2024-04-30T17:50:11","modified_gmt":"2024-04-30T09:50:11","slug":"%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/","title":{"rendered":"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539"},"content":{"rendered":"<h3>\u521b\u5efa\u65b0\u7684\u8d77\u59cb\u9879\u76ee<\/h3>\n<p>\u9009\u62e9Liquibase\u548cMySQL<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/2-0.jpeg\" alt=\"WS000000.JPG\" \/><\/div>\n<h3>\u5c06DB\u7684\u4fe1\u606f\u653e\u5165application.properties\u6587\u4ef6\u4e2d\u3002<\/h3>\n<p>\u5728MySQL\u4e2d\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a&#8221;testdatabase&#8221;\u7684\u6570\u636e\u5e93\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">spring<\/span><span class=\"o\">.<\/span><span class=\"na\">datasource<\/span><span class=\"o\">.<\/span><span class=\"na\">url<\/span><span class=\"o\">=<\/span><span class=\"nl\">jdbc:mysql:<\/span><span class=\"c1\">\/\/localhost:3306\/testDataBase?serverTimezone=UTC&amp;createDatabaseIfNotExist=true<\/span>\r\n<span class=\"n\">spring<\/span><span class=\"o\">.<\/span><span class=\"na\">datasource<\/span><span class=\"o\">.<\/span><span class=\"na\">username<\/span><span class=\"o\">=<\/span><span class=\"n\">root<\/span>\r\n<span class=\"n\">spring<\/span><span class=\"o\">.<\/span><span class=\"na\">datasource<\/span><span class=\"o\">.<\/span><span class=\"na\">password<\/span><span class=\"o\">=<\/span><span class=\"n\">system<\/span>\r\n<span class=\"n\">spring<\/span><span class=\"o\">.<\/span><span class=\"na\">jpa<\/span><span class=\"o\">.<\/span><span class=\"na\">database<\/span><span class=\"o\">=<\/span><span class=\"no\">MYSQL<\/span>\r\n<span class=\"n\">spring<\/span><span class=\"o\">.<\/span><span class=\"na\">liquibase<\/span><span class=\"o\">.<\/span><span class=\"na\">change<\/span><span class=\"o\">-<\/span><span class=\"n\">log<\/span><span class=\"o\">=<\/span><span class=\"nl\">classpath:<\/span><span class=\"n\">db<\/span><span class=\"o\">\/<\/span><span class=\"n\">db<\/span><span class=\"o\">.<\/span><span class=\"na\">changelog<\/span><span class=\"o\">-<\/span><span class=\"n\">master<\/span><span class=\"o\">.<\/span><span class=\"na\">yaml<\/span>\r\n<\/code><\/pre>\n<h3>\u6dfb\u52a0\u6784\u5efa\u7684\u4f9d\u8d56\u5173\u7cfb<\/h3>\n<p>\u5728build.gradle\u7684dependencies\u4e2d\u6dfb\u52a0Spring Data JPA<\/p>\n<pre class=\"post-pre\"><code><span class=\"n\">dependencies<\/span> <span class=\"o\">{<\/span>\r\n    <span class=\"n\">implementation<\/span> <span class=\"err\">'<\/span><span class=\"n\">org<\/span><span class=\"o\">.<\/span><span class=\"na\">springframework<\/span><span class=\"o\">.<\/span><span class=\"na\">boot<\/span><span class=\"o\">:<\/span><span class=\"n\">spring<\/span><span class=\"o\">-<\/span><span class=\"n\">boot<\/span><span class=\"o\">-<\/span><span class=\"n\">starter<\/span><span class=\"err\">'<\/span>\r\n    <span class=\"n\">implementation<\/span> <span class=\"err\">'<\/span><span class=\"n\">org<\/span><span class=\"o\">.<\/span><span class=\"na\">liquibase<\/span><span class=\"o\">:<\/span><span class=\"n\">liquibase<\/span><span class=\"o\">-<\/span><span class=\"n\">core<\/span><span class=\"err\">'<\/span>\r\n    <span class=\"n\">runtimeOnly<\/span> <span class=\"err\">'<\/span><span class=\"nl\">mysql:<\/span><span class=\"n\">mysql<\/span><span class=\"o\">-<\/span><span class=\"n\">connector<\/span><span class=\"o\">-<\/span><span class=\"n\">java<\/span><span class=\"err\">'<\/span>\r\n    <span class=\"n\">testImplementation<\/span> <span class=\"err\">'<\/span><span class=\"n\">org<\/span><span class=\"o\">.<\/span><span class=\"na\">springframework<\/span><span class=\"o\">.<\/span><span class=\"na\">boot<\/span><span class=\"o\">:<\/span><span class=\"n\">spring<\/span><span class=\"o\">-<\/span><span class=\"n\">boot<\/span><span class=\"o\">-<\/span><span class=\"n\">starter<\/span><span class=\"o\">-<\/span><span class=\"n\">test<\/span><span class=\"err\">'<\/span>\r\n    <span class=\"n\">implementation<\/span> <span class=\"err\">'<\/span><span class=\"n\">org<\/span><span class=\"o\">.<\/span><span class=\"na\">springframework<\/span><span class=\"o\">.<\/span><span class=\"na\">boot<\/span><span class=\"o\">:<\/span><span class=\"n\">spring<\/span><span class=\"o\">-<\/span><span class=\"n\">boot<\/span><span class=\"o\">-<\/span><span class=\"n\">starter<\/span><span class=\"o\">-<\/span><span class=\"n\">data<\/span><span class=\"o\">-<\/span><span class=\"n\">jpa<\/span><span class=\"err\">'<\/span>\r\n<span class=\"o\">}<\/span>\r\n<\/code><\/pre>\n<h3>\u521b\u5efa\u4e00\u4e2a\u6700\u5148\u8bfb\u53d6\u7684 YAML \u6587\u4ef6\u3002<\/h3>\n<p>\u5c06db.changelog-master.yaml\u6587\u4ef6\u653e\u5728Sample\\src\\main\\resources\\db\u6587\u4ef6\u5939\u4e2d\uff08\u6587\u4ef6\u540d\u5199\u5728application.properties\u4e2d\uff09\u3002\u5728\u6587\u4ef6\u4e2d\u5199\u5165db.changelog\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u540d\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nl\">databaseChangeLog:<\/span>\r\n<span class=\"o\">-<\/span> <span class=\"nl\">include:<\/span>\r\n    <span class=\"nl\">file:<\/span> <span class=\"n\">db<\/span><span class=\"o\">\/<\/span><span class=\"n\">changelog<\/span><span class=\"o\">\/<\/span><span class=\"n\">a<\/span><span class=\"o\">.<\/span><span class=\"na\">yaml<\/span>\r\n<\/code><\/pre>\n<p>\u8fd9\u6837\u5c31\u4f1a\u5728db.changelog\u76ee\u5f55\u4e0b\u81ea\u52a8\u751f\u6210yaml\u6587\u4ef6<\/p>\n<h3>\u8868\u683c\u5b9a\u4e49<\/h3>\n<p>\u6211\u5011\u5c07\u5728\u525b\u525b\u81ea\u52a8\u751f\u6210\u7684YAML\u6587\u4ef6\u4e2d\u8a18\u9304\u8868\u683c\u5b9a\u7fa9\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nl\">databaseChangeLog:<\/span>\r\n  <span class=\"o\">-<\/span> <span class=\"nl\">changeSet:<\/span>\r\n      <span class=\"nl\">id:<\/span> <span class=\"mi\">1<\/span>\r\n      <span class=\"nl\">author:<\/span> <span class=\"n\">aaa<\/span>\r\n      <span class=\"nl\">changes:<\/span>\r\n        <span class=\"o\">-<\/span> <span class=\"nl\">createTable:<\/span>\r\n            <span class=\"nl\">tableName:<\/span> <span class=\"n\">user<\/span>\r\n            <span class=\"nl\">columns:<\/span>\r\n              <span class=\"o\">-<\/span> <span class=\"nl\">column:<\/span>\r\n                  <span class=\"nl\">name:<\/span> <span class=\"n\">id<\/span>\r\n                  <span class=\"nl\">type:<\/span> <span class=\"kt\">int<\/span>\r\n                  <span class=\"nl\">autoIncrement:<\/span> <span class=\"kc\">true<\/span>\r\n                  <span class=\"nl\">constraints:<\/span>\r\n                    <span class=\"nl\">primaryKey:<\/span> <span class=\"kc\">true<\/span>\r\n                    <span class=\"nl\">nullable:<\/span> <span class=\"kc\">false<\/span>\r\n              <span class=\"o\">-<\/span> <span class=\"nl\">column:<\/span>\r\n                  <span class=\"nl\">name:<\/span> <span class=\"n\">firstname<\/span>\r\n                  <span class=\"nl\">type:<\/span> <span class=\"n\">varchar<\/span><span class=\"o\">(<\/span><span class=\"mi\">50<\/span><span class=\"o\">)<\/span>\r\n              <span class=\"o\">-<\/span> <span class=\"nl\">column:<\/span>\r\n                  <span class=\"nl\">name:<\/span> <span class=\"n\">lastname<\/span>\r\n                  <span class=\"nl\">type:<\/span> <span class=\"n\">varchar<\/span><span class=\"o\">(<\/span><span class=\"mi\">50<\/span><span class=\"o\">)<\/span>\r\n                  <span class=\"nl\">constraints:<\/span>\r\n                    <span class=\"nl\">nullable:<\/span> <span class=\"kc\">false<\/span>\r\n              <span class=\"o\">-<\/span> <span class=\"nl\">column:<\/span>\r\n                  <span class=\"nl\">name:<\/span> <span class=\"n\">state<\/span>\r\n                  <span class=\"nl\">type:<\/span> <span class=\"kt\">char<\/span><span class=\"o\">(<\/span><span class=\"mi\">2<\/span><span class=\"o\">)<\/span>\r\n<\/code><\/pre>\n<p>\u203b\u5728yaml\u6587\u4ef6\u4e2d\uff0c\u7f29\u8fdb\u5fc5\u987b\u4f7f\u7528\u534a\u89d2\u7a7a\u683c<\/p>\n<h3>\u6267\u884c<\/h3>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/18-0.jpeg\" alt=\"WS000001.JPG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/19-0.jpeg\" alt=\"WS000002.JPG\" \/><\/div>\n<h3>\u5982\u679c\u8868\u683c\u5b9a\u4e49\u53d1\u751f\u53d8\u5316<\/h3>\n<h5>\u25c6\u6dfb\u52a0\u5217<\/h5>\n<p>\u5728db.changelog-master.yaml\u4e2d\u6dfb\u52a0\u6587\u4ef6\u540d<\/p>\n<pre class=\"post-pre\"><code><span class=\"nl\">databaseChangeLog:<\/span>\r\n<span class=\"o\">-<\/span> <span class=\"nl\">include:<\/span>\r\n    <span class=\"nl\">file:<\/span> <span class=\"n\">db<\/span><span class=\"o\">\/<\/span><span class=\"n\">changelog<\/span><span class=\"o\">\/<\/span><span class=\"n\">a<\/span><span class=\"o\">.<\/span><span class=\"na\">yaml<\/span>\r\n<span class=\"o\">-<\/span> <span class=\"nl\">include:<\/span>\r\n    <span class=\"nl\">file:<\/span> <span class=\"n\">db<\/span><span class=\"o\">\/<\/span><span class=\"n\">changelog<\/span><span class=\"o\">\/<\/span><span class=\"n\">b<\/span><span class=\"o\">.<\/span><span class=\"na\">yaml<\/span>\r\n<\/code><\/pre>\n<p>\u5728\u81ea\u52a8\u751f\u6210\u7684db.changelog\u6587\u4ef6\u5939\u4e0b\u7684yaml\u6587\u4ef6\u4e2d\u7f16\u5199ALTER\u8bed\u53e5\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nl\">databaseChangeLog:<\/span>\r\n  <span class=\"o\">-<\/span> <span class=\"nl\">changeSet:<\/span>\r\n      <span class=\"nl\">id:<\/span> <span class=\"mi\">2<\/span>\r\n      <span class=\"nl\">comment:<\/span> <span class=\"n\">tuika<\/span>\r\n      <span class=\"nl\">author:<\/span> <span class=\"n\">takahashi<\/span>\r\n      <span class=\"nl\">changes:<\/span> \r\n        <span class=\"o\">-<\/span> <span class=\"nl\">addColumn:<\/span>\r\n            <span class=\"nl\">catalogName:<\/span> <span class=\"n\">testdatabase<\/span>\r\n            <span class=\"nl\">columns:<\/span>\r\n              <span class=\"o\">-<\/span> <span class=\"nl\">column:<\/span>\r\n                  <span class=\"nl\">name:<\/span> <span class=\"n\">age<\/span>\r\n                  <span class=\"nl\">remarks:<\/span> <span class=\"n\">memo<\/span>\r\n                  <span class=\"nl\">type:<\/span> <span class=\"n\">bigint<\/span>\r\n            <span class=\"nl\">schemaName:<\/span> <span class=\"kd\">public<\/span>\r\n            <span class=\"nl\">tableName:<\/span> <span class=\"n\">user<\/span>\r\n<\/code><\/pre>\n<p>\u203bdatabaseChangeLog\u7684id\u662f\u552f\u4e00\u952e\uff0c\u6240\u4ee5\u4e0d\u4f1a\u91cd\u590d\u3002<\/p>\n<p>\u6267\u884c\u540e\u786e\u8ba4A5M2<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/28-0.jpeg\" alt=\"WS000004.JPG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/29-0.jpeg\" alt=\"WS000005.JPG\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u521b\u5efa\u65b0\u7684\u8d77\u59cb\u9879\u76ee \u9009\u62e9Liquibase\u548cMySQL \u5c06DB\u7684\u4fe1\u606f\u653e\u5165application.properti [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-40308","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u3010liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\" \/>\n<meta property=\"og:description\" content=\"\u521b\u5efa\u65b0\u7684\u8d77\u59cb\u9879\u76ee \u9009\u62e9Liquibase\u548cMySQL \u5c06DB\u7684\u4fe1\u606f\u653e\u5165application.properti [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u3010liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-11T09:43:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-30T09:50:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/2-0.jpeg\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/\",\"name\":\"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-01-11T09:43:05+00:00\",\"dateModified\":\"2024-04-30T09:50:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u3010liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\/","og_locale":"zh_CN","og_type":"article","og_title":"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539","og_description":"\u521b\u5efa\u65b0\u7684\u8d77\u59cb\u9879\u76ee \u9009\u62e9Liquibase\u548cMySQL \u5c06DB\u7684\u4fe1\u606f\u653e\u5165application.properti [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u3010liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-01-11T09:43:05+00:00","article_modified_time":"2024-04-30T09:50:11+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d3fee37434c4406c9054d\/2-0.jpeg"}],"author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/","name":"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-01-11T09:43:05+00:00","dateModified":"2024-04-30T09:50:11+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u3010Liquibase\u3011\u6570\u636e\u5e93\u521b\u5efa\u548c\u8868\u5b9a\u4e49\u66f4\u6539"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e3%80%90liquibase%e3%80%91%e6%95%b0%e6%8d%ae%e5%ba%93%e5%88%9b%e5%bb%ba%e5%92%8c%e8%a1%a8%e5%ae%9a%e4%b9%89%e6%9b%b4%e6%94%b9\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=40308"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40308\/revisions"}],"predecessor-version":[{"id":93380,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/40308\/revisions\/93380"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=40308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=40308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=40308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}