{"id":43380,"date":"2024-02-15T08:55:04","date_gmt":"2024-02-15T08:55:04","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=43380"},"modified":"2024-02-15T08:55:05","modified_gmt":"2024-02-15T08:55:05","slug":"what-is-flyway-and-use-cases-of-flyway","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-flyway-and-use-cases-of-flyway\/","title":{"rendered":"What is Flyway and use cases of Flyway?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is Flyway ?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"463\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274-1024x463.png\" alt=\"\" class=\"wp-image-43389\" style=\"width:703px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274-1024x463.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274-300x136.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274-768x347.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274-1536x694.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-274.png 1880w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>What is Flyway <\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Flyway is an open-source database migration tool that helps you manage schema changes in a safe and repeatable way. It&#8217;s designed to be vendor-neutral, working across various database platforms like MySQL, PostgreSQL, Oracle, and more. Flyway uses version control best practices to track and apply database migrations in a controlled and automated manner.<\/p>\n\n\n\n<p>Here&#8217;s what Flyway offers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Versioned migrations:<\/strong> Each change to your database schema is represented as a migration script with a version number. This allows you to track the evolution of your database and easily roll back to previous versions if needed.<\/li>\n\n\n\n<li><strong>Repeatable deployments:<\/strong> Flyway ensures that migrations are applied in the correct order consistently across different environments, like development, testing, and production. This helps avoid inconsistencies and potential issues.<\/li>\n\n\n\n<li><strong>Automatic checksums:<\/strong> Flyway verifies the integrity of migration scripts before applying them, ensuring you&#8217;re applying the correct version and avoiding unexpected changes.<\/li>\n\n\n\n<li><strong>Flexible scripting:<\/strong> You can write migration scripts in various languages like SQL, PL\/SQL, and T-SQL, depending on your database platform.<\/li>\n\n\n\n<li><strong>Integration with CI\/CD pipelines:<\/strong> Flyway can be easily integrated into your continuous integration and continuous delivery (CI\/CD) pipeline, allowing you to automate database schema changes along with code deployments.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Top 10 use cases of Flyway ?<\/h2>\n\n\n\n<p>Top 10 Use Cases of Flyway:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Managing schema changes in complex applications:<\/strong> Flyway helps manage complex applications with frequent database schema changes, ensuring a controlled and organized evolution.<\/li>\n\n\n\n<li><strong>Maintaining consistency across environments:<\/strong> Flyway ensures your database schemas are consistent across development, testing, and production environments, avoiding discrepancies and potential errors.<\/li>\n\n\n\n<li><strong>Rolling back changes easily:<\/strong> If you encounter issues after a migration, Flyway allows you to easily roll back to a previous version, minimizing downtime and impact.<\/li>\n\n\n\n<li><strong>Automating database deployments:<\/strong> Integrate Flyway with your CI\/CD pipeline to automate database schema changes alongside code deployments, streamlining the process and reducing manual intervention.<\/li>\n\n\n\n<li><strong>Collaboration and version control:<\/strong> Flyway promotes collaboration among developers by tracking changes and allowing for easy review and rollback of migrations.<\/li>\n\n\n\n<li><strong>Improved database governance:<\/strong> Flyway helps enforce database schema versioning and change management policies, leading to better governance and control.<\/li>\n\n\n\n<li><strong>Reduced risk of errors:<\/strong> By automating migrations and verifying checksums, Flyway helps minimize the risk of human errors and unexpected changes.<\/li>\n\n\n\n<li><strong>Supports diverse database platforms:<\/strong> Flyway&#8217;s vendor-neutral approach provides flexibility to use it with different database platforms, avoiding vendor lock-in.<\/li>\n\n\n\n<li><strong>Open-source and community-driven:<\/strong> Flyway is an open-source project with an active community, offering access to resources and support.<\/li>\n\n\n\n<li><strong>Scalability and performance:<\/strong> Flyway is designed to handle large databases and complex migrations efficiently.<\/li>\n<\/ol>\n\n\n\n<p>Whether you&#8217;re working on a small project or a large-scale enterprise application, Flyway can be a valuable tool to manage your database schema changes effectively and efficiently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are the feature of Flyway ?<\/h2>\n\n\n\n<p>Now, Let\u2019s explore the features of <strong>Flyway<\/strong>, a popular database migration tool:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Version Control for Databases<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway enables version control for your database schema.<\/li>\n\n\n\n<li>You can track changes over time, making it easier to manage and deploy updates.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Simple and Reliable<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway follows the \u201cplain old SQL\u201d approach.<\/li>\n\n\n\n<li>No proprietary XML formats or complex configurations.<\/li>\n\n\n\n<li>It just works, with zero required dependencies.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Convention Over Configuration<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway encourages convention over configuration.<\/li>\n\n\n\n<li>It simplifies the setup process and decreases boilerplate code.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SQL and Java Migrations<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Write migrations in plain SQL or Java.<\/li>\n\n\n\n<li>SQL migrations support database-specific syntax (e.g., PL\/SQL, T-SQL).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Automated Deployment Pipeline<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway integrates seamlessly into your deployment pipeline.<\/li>\n\n\n\n<li>From version control to continuous delivery, it automates database development.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Change Reports and Drift Detection<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway provides change reports to track modifications.<\/li>\n\n\n\n<li>Detect drift between your database schema and expected state.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Migration Script Auto-Generation<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway can generate migration scripts based on changes detected in your schema.<\/li>\n\n\n\n<li>Saves time and ensures consistency.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Schema Comparison and Static Data Versioning<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Compare schemas between databases.<\/li>\n\n\n\n<li>Version static data alongside schema changes.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Built-in Git Client<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway includes a Git client for seamless integration with version control.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Technical Support and Enterprise Features<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway offers different editions (Community, Teams, and Enterprise).<\/li>\n\n\n\n<li>Enterprise includes advanced features like migration script auto-generation, drift detection, and SQL code standard checks.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Flyway extends DevOps to your databases, accelerating software delivery while ensuring quality code! \ud83d\ude80\ud83d\uddc4\ufe0f<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Flyway works and Architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"510\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-275.png\" alt=\"\" class=\"wp-image-43390\" style=\"width:554px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-275.png 625w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-275-300x245.png 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Flyway works and Architecture<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p><strong>Flyway<\/strong> is a powerful database migration tool that simplifies managing and applying changes to your database schema. Let\u2019s explore how it works and its architecture:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Schema History Table<\/strong>:\n<ul class=\"wp-block-list\">\n<li>When you point Flyway to an empty database, it looks for its <strong>schema history table<\/strong>.<\/li>\n\n\n\n<li>If not found, Flyway creates it. This table tracks the state of the database.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Scanning for Migrations<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Flyway scans the filesystem or classpath for migration scripts (written in SQL or Java).<\/li>\n\n\n\n<li>Migrations are sorted by their version number and applied in order.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Applying Migrations<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Each migration is executed within a single database transaction.<\/li>\n\n\n\n<li>The schema history table is updated to reflect the applied migrations.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Versioned vs. Repeatable Migrations<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Versioned migrations have unique versions and are applied exactly once.<\/li>\n\n\n\n<li>Repeatable migrations are re-applied whenever their checksum changes.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Upgrading to Newer Versions<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Create a new migration with a higher version number.<\/li>\n\n\n\n<li>Flyway detects it and upgrades the database accordingly.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Maven Plugin Integration<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Use the Flyway Maven plugin to perform database migrations.<\/li>\n\n\n\n<li>Configure it via the <code>&lt;configuration&gt;<\/code> tag in your <code>pom.xml<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Other Configuration Options<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Configure Flyway using Maven properties or an external <code>.conf<\/code> file.<\/li>\n\n\n\n<li>Specify database credentials, schemas, and other properties.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Flyway automates database evolution, making it easy to manage schema changes reliably! \ud83d\ude80\ud83d\uddc4\ufe0f<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Flyway it?<\/h2>\n\n\n\n<p>Now, Let\u2019s find how to install <strong>Flyway<\/strong>, a powerful database schema change management tool:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Download Flyway<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Visit the official Flyway website to download the Flyway distribution.<\/li>\n\n\n\n<li>Select the accurate version for your operating system (Windows, macOS, or Linux).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Extract the Archive<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Once downloaded, extract the Flyway archive to a local directory.<\/li>\n\n\n\n<li>You\u2019ll find the Flyway executable and necessary files inside.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Set Up Environment Variables (Optional)<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Add the Flyway installation directory to your system\u2019s PATH environment variable.<\/li>\n\n\n\n<li>This step ensures you can run Flyway from any location in the command prompt or terminal.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Verify Installation<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Open a terminal or command prompt.<\/li>\n\n\n\n<li>Type <code>flyway --version<\/code> and press Enter.<\/li>\n\n\n\n<li>If successful, you\u2019ll see the Flyway version information.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>That\u2019s it! You\u2019ve successfully installed Flyway. Now you\u2019re ready to manage your database schema changes with ease. \ud83d\ude80\ud83d\uddc4\ufe0f<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Tutorials of Flyway: Getting Started<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-1024x576.png\" alt=\"\" class=\"wp-image-43391\" style=\"width:631px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-1024x576.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-300x169.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-768x432.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-1536x864.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276-355x199.png 355w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-276.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Basic Tutorials of Flyway<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>This step-by-step guide will introduce you to Flyway&#8217;s basic functionalities through a simple example. We&#8217;ll focus on the Community Edition, but note that some features mentioned here might only be available in the Teams Edition.<\/p>\n\n\n\n<p><strong>1. Prerequisites:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Java Runtime Environment (JRE):<\/strong> Download and install if not already present.<\/li>\n\n\n\n<li><strong>Database:<\/strong> Choose a compatible database like MySQL, PostgreSQL, or Oracle. Set up your database and user credentials.<\/li>\n\n\n\n<li><strong>Flyway download:<\/strong> Download the Flyway Community Edition from https:\/\/flywaydb.org\/. Extract the downloaded archive.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Project Setup:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new project directory.<\/li>\n\n\n\n<li>Inside the project directory, create a file named <code class=\"\">flyway.conf<\/code> (configuration file).<\/li>\n\n\n\n<li>In <code class=\"\">flyway.conf<\/code>, add the following basic configuration details:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Database connection details<\/span>\nurl=your_database_url\nuser=your_database_user\npassword=your_database_password\n\n<span class=\"hljs-comment\"># Database schema<\/span>\nschemas=<span class=\"hljs-keyword\">public<\/span>\n\n<span class=\"hljs-comment\"># Placeholders for migration scripts<\/span>\nlocations=filesystem:migrations\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Replace placeholders with your actual database details and desired location for migration scripts (usually a folder named <code class=\"\">migrations<\/code>).<\/p>\n\n\n\n<p><strong>3. Create Initial Migration:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new folder named <code class=\"\">migrations<\/code> under your project directory.<\/li>\n\n\n\n<li>Inside <code class=\"\">migrations<\/code>, create a file named <code class=\"\">V1__create_users_table.sql<\/code>. The <code class=\"\">V1__<\/code> prefix indicates the version number.<\/li>\n\n\n\n<li>Add the following SQL script to create a <code class=\"\">users<\/code> table:<\/li>\n<\/ul>\n\n\n\n<p>SQL<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">CREATE TABLE users (\n  id SERIAL PRIMARY KEY,\n  username VARCHAR(<span class=\"hljs-number\">255<\/span>) NOT <span class=\"hljs-keyword\">NULL<\/span> UNIQUE,\n  email VARCHAR(<span class=\"hljs-number\">255<\/span>) NOT <span class=\"hljs-keyword\">NULL<\/span> UNIQUE\n);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>4. Run Flyway Migration:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open a terminal and navigate to your project directory.<\/li>\n\n\n\n<li>Run the following command to execute the migration:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">flyway migrate\n<\/code><\/span><\/pre>\n\n\n<p>Flyway will connect to your database, detect the migration script, and apply it. You can check your database to confirm the <code class=\"\">users<\/code> table creation.<\/p>\n\n\n\n<p><strong>5. Add Another Migration:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new file named <code class=\"\">V2__add_password_column.sql<\/code> within the <code class=\"\">migrations<\/code> folder.<\/li>\n\n\n\n<li>Add the following SQL script to add a <code class=\"\">password<\/code> column to the <code class=\"\">users<\/code> table:<\/li>\n<\/ul>\n\n\n\n<p>SQL<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">ALTER TABLE users ADD password VARCHAR(<span class=\"hljs-number\">255<\/span>) NOT <span class=\"hljs-keyword\">NULL<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li>Run <code class=\"\">flyway migrate<\/code> again to apply this new migration.<\/li>\n<\/ul>\n\n\n\n<p><strong>6. Additional Notes:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can add multiple migration scripts with unique version prefixes to manage schema evolution gradually.<\/li>\n\n\n\n<li>Flyway offers various commands for advanced tasks like checking migration status, rolling back changes, and more.<\/li>\n\n\n\n<li>Consider using a version control system like Git to track your migration scripts alongside your codebase for better management and collaboration.<\/li>\n<\/ul>\n\n\n\n<p>This basic tutorial provides a starting point for using Flyway.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Flyway ? Flyway is an open-source database migration tool that helps you manage schema changes in a safe and repeatable way. It&#8217;s designed to be vendor-neutral, working across various database platforms like MySQL, PostgreSQL, Oracle, and more. Flyway uses version control best practices to track and apply database migrations in a controlled and&#8230;<\/p>\n","protected":false},"author":41,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-43380","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=43380"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43380\/revisions"}],"predecessor-version":[{"id":43398,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43380\/revisions\/43398"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=43380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=43380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=43380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}