{"id":18752538,"url":"https://github.com/hendisantika/spring-boot-liquibase-example","last_synced_at":"2026-05-01T19:31:32.336Z","repository":{"id":240608031,"uuid":"800800902","full_name":"hendisantika/spring-boot-liquibase-example","owner":"hendisantika","description":"Spring Boot Liquibase Example","archived":false,"fork":false,"pushed_at":"2026-03-26T22:57:50.000Z","size":239,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-27T10:48:08.471Z","etag":null,"topics":["liquibase","migration","springboot","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hendisantika.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-15T02:55:38.000Z","updated_at":"2026-03-26T22:57:47.000Z","dependencies_parsed_at":"2025-05-20T12:08:31.181Z","dependency_job_id":"f5bd8565-235c-4d55-a5ba-39eb8826392e","html_url":"https://github.com/hendisantika/spring-boot-liquibase-example","commit_stats":null,"previous_names":["hendisantika/spring-boot-liquibase-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hendisantika/spring-boot-liquibase-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-liquibase-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-liquibase-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-liquibase-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-liquibase-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendisantika","download_url":"https://codeload.github.com/hendisantika/spring-boot-liquibase-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendisantika%2Fspring-boot-liquibase-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32510601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["liquibase","migration","springboot","sql"],"created_at":"2024-11-07T17:20:54.205Z","updated_at":"2026-05-01T19:31:32.313Z","avatar_url":"https://github.com/hendisantika.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-boot-liquibase-example\n\n### What is Liquibase?\n\n![FlywayDB Flow](img/flow.png \"FlywayDB Flow\")\n\nLiquibase is an open-source tool for keeping track of database schema script revisions. It works with a variety\nof database types and accepts a variety of file formats for defining the database structure.\n\nLiquibase can roll changes back and forward from a given point, removing the need to remember what was the last update\nor script you executed on a particular DB instance.\n\nWhen it becomes necessary to update/revert changes in a database or migrate it from one version to another, database\nschema migration is done. Liquibase and Flyway are the two main migrating tools.\n\n### What is Flyway?\n\nFlyway is an open source database migration software. It has Migrate, Clean, Info, Validate, Undo, Baseline, and Repair\nseven basic commands, SQL (database-specific syntax (such as PL/SQL, T-SQL, etc.) or Java migrations are supported (for\nadvanced data transformations or dealing with LOBs).\n\nYou can also refer Java base migration\nusing [Spring Boot + Flyway Example.](https://www.techgeeknext.com/spring-boot/spring-boot-flyway-example)\n\nRefer example for [Flyway Command Line base migration.](https://www.techgeeknext.com/flyway-command-line-migration)\n\nDifferences between Flyway and Liquibase\nRefer [Liquibase VS Flyway for more details.](https://www.techgeeknext.com/liquibase-vs-flyway)\n\n|                                                                                                          | FlywayDB      | Liquibase            |\n|----------------------------------------------------------------------------------------------------------|---------------|----------------------|\n| Diff utility to compare two databases                                                                    | No            | Yes                  |\n| Generates SQL for you\t                                                                                   | Yes           | \tNo                  |\n| Rollback\t                                                                                                | Paid Service\t | Yes, available       |\n| Targeted rollback for any single change and Targeted rollback for a set of changes\t                      | No\t           | Paid Service         |\n| Ability to manage change files in a variety of ways and can use the monitoring and reporting dashboard.\t | No\t           | Yes                  |\n| Specifying changes file\t                                                                                 | SQL\t          | SQL, XML, JSON, YAML |\n| Repeatable migrations\t                                                                                   | Yes           | \tYes                 |\n| Dry runs\t                                                                                                | Paid Service\t | Yes, available       |\n| Preconditions\t                                                                                           | No            | \tYes                 |\n\n### Notes\n\n#### WHAT IT IS\n\n1. Liquibase is a database schema change management solution that enables you to revise and release database changes\n   faster and safer from development to production.\n2. Data Migration with liquibase, Database migration tools are designed to achieve the goal of making this process\n   traceable, visible, convenient and more fault-tolerant.\n3. Liquibase for making the database change process easy. Liquibase is an open source database independent library for\n   tracking, managing and applying database schema changes.\n4. Integrate Liquibase into your build process, So that we can eliminate manual database changes.\n5. Source version control to database scripts/deployments.\n6. It defines, what changes are necessary in what order.\n\n#### Why Liquibase? Smarter Database Management\n\n1. Database schema migrations are an essential task for every software project.\n2. Additionally, we have to update the database table whenever you add a new property to the model class. To establish\n   or modify the database schema to meet the application entities, we can utilize Hibernate to automatically fire the\n   relevant DDL statements. However, running these statements may result in data loss. At this stage, we require a\n   database-agnostic tool that can efficiently make the data changes. What if you want to observe the database\n   modifications from your previous database updates? Liquibase is a very effective and adaptable solution for database\n   migration.\n3. Liquibase works with 59 databases.\n4. Easily define changes in SQL, XML, JSON, or YAML.\n\n#### Definitions:\n\n1. Changelogs : Change logs are an ordered list of changes to be deployed to the database, describes changes that need\n   for database. We can have many changelog files for our DB changes throughout the time.four different changelog\n   formats: 1. SQL 2. YAML 3. XML 4. JSON\n2. Changeset: A changeSet is the basic unit of change for a database. Changeset uniquely identified using author and id.\n   Each database schema change you make with Liquibase is called a changeset. All changesets are tracked by Liquibase\n   using changelogs.\n3. DATABASECHANGELOG and DATABASECHANGELOGLOCK: Liquibase creates two tables in your database, DATABASECHANGELOG and\n   DATABASECHANGELOGLOCK. The DATABASECHANGELOG table tracks deployed changes so that you have a record. Liquibase\n   compares the changesets in the changelog file with the DATABASECHANGELOG tracking table and deploys only new\n   changesets. DATABASECHANGELOGLOCK prevents multiple instances of Liquibase from updating the database at the same\n   time. The table manages access to the DATABASECHANGELOG table during deployment and ensures only one instance of\n   Liquibase is updating the database.\n4. Once a change is introduced into the changelog file, it must never be altered, because it could mess up liquibase's\n   expectations. This is because liquibase maintains a DATABASECHANGELOG table that record, what changes have already\n   been run.\n\n#### How it works\n\n1. Define database changes: Developers use changesets in Liquibase to describe alterations to the database. This can\n   include creating tables, inserting data, and making other modifications.\n2. Connection Check: Liquibase validates database connection details such as credentials, database URL, and JDBC driver\n   to ensure a secure and accurate connection.\n3. Tracking Changes: A tracking table is maintained by Liquibase to record the deployment status of changesets. This\n   helps keep track of applied and pending changes.\n4. Deployment Control: Liquibase enables updating the database to the latest version, ensuring all changes are applied.\n5. Script Execution and Validation: Liquibase executes scripts (changelogs) to implement database changes. It also\n   performs validation to catch errors early in the process, preventing potential issues. Build failure may occur if\n   scripts contain errors. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendisantika%2Fspring-boot-liquibase-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendisantika%2Fspring-boot-liquibase-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendisantika%2Fspring-boot-liquibase-example/lists"}