A change management system for databases based on Liquibase
Java Groovy PLSQL Ruby SQLPL Puppet Other
Switch branches/tags
testing-liquibase--3.1.0 testing-lb-parent-3.1.41 testing-lb-parent-3.1.40 testing-lb-parent-3.1.39 testing-lb-parent-3.1.38 testing-lb-parent-3.1.37 testing-lb-parent-3.1.36 testing-lb-parent-3.1.35 testing-lb-parent-3.1.34 testing-lb-parent-3.1.33 testing-lb-parent-3.1.32 testing-lb-parent-3.1.31 testing-lb-parent-3.1.30 testing-lb-parent-3.1.29 testing-lb-parent-3.1.28 testing-lb-parent-3.1.27 testing-lb-parent-3.1.26 testing-lb-parent-3.1.25 testing-lb-parent-3.1.23 testing-lb-parent-3.1.22 testing-lb-parent-3.1.21 testing-lb-parent-3.1.20 testing-lb-parent-3.1.19 testing-lb-parent-3.1.18 testing-lb-parent-3.1.17 testing-lb-parent-3.1.16 testing-lb-parent-3.1.15 testing-lb-parent-3.1.14 testing-lb-parent-3.1.13 testing-lb-parent-3.1.10 testing-lb-parent-3.1.9 testing-lb-parent-3.1.7 testing-lb-parent-3.1.6 testing-lb-parent-3.1.5 testing-lb-parent-3.1.4 testing-lb-parent-3.1.3 testing-lb-parent-3.1.2 testing-lb-3.1.1 liquibase-parent-3.5.3 liquibase-parent-3.5.2 liquibase-parent-3.5.1 liquibase-parent-3.5.0 liquibase-parent-3.4.2 liquibase-parent-3.4.1 liquibase-parent-3.4.0 liquibase-parent-3.3.5 liquibase-parent-3.3.4 liquibase-parent-3.3.3 liquibase-parent-3.3.2 liquibase-parent-3.3.1 liquibase-parent-3.3.0 liquibase-parent-3.2.3 liquibase-parent-3.2.2 liquibase-parent-3.2.1 liquibase-parent-3.2.0 liquibase-parent-3.1.1 liquibase-parent-3.1.0 liquibase-parent-3.0.8 liquibase-parent-3.0.7 liquibase-parent-3.0.6 liquibase-parent-3.0.5.1 liquibase-parent-3.0.5 liquibase-parent-3.0.4.1 liquibase-parent-3.0.4 liquibase-parent-3.0.3 liquibase-parent-3.0.2 liquibase-parent-3.0.1.2 liquibase-parent-3.0.1.1 liquibase-parent-3.0.1 liquibase-parent-3.0.0 liquibase-parent-3.0.0-rc2 liquibase-parent-3.0.0-rc1 liquibase-parent-3.0.0-beta2 liquibase-parent-3.0.0-beta1 liquibase-parent-2.0.5 liquibase-parent-2.0.4 liquibase-parent-2.0.3 liquibase-parent-2.0.2 liquibase-parent-2.0.1 lbase-datical-1.1.0 lbase-datical-1.1.0-root lbase-datical-1.0-root 2.0.0 1.9.5 1.9.4 1.9.3 1.9.2
Nothing to show
Clone or download
Pull request Compare This branch is 17 commits ahead, 86 commits behind liquibase:master.
Permalink
Failed to load latest commit information.
.circleci Revert "Reverting renaming changes from dbmanul" May 8, 2018
liquibase-cdi fix versions of the parent POM May 12, 2018
liquibase-core fix versions of the parent POM May 12, 2018
liquibase-debian fix versions of the parent POM May 12, 2018
liquibase-integration-tests fix versions of the parent POM May 12, 2018
liquibase-maven-plugin fix versions of the parent POM May 12, 2018
liquibase-rpm fix versions of the parent POM May 12, 2018
.gitattributes Added OS-specific line endings for .bat and .sh files Oct 2, 2013
.gitignore Ignore jacoco.exec Jul 9, 2017
LICENSE.txt changed license to APL Jul 11, 2010
README.md Revert "Reverting renaming changes from dbmanul" May 8, 2018
RELEASE_NOTES_0.1.md Revert "Reverting renaming changes from dbmanul" May 8, 2018
RELEASING.txt Updated releasing notes to include rpm and deb Sep 21, 2016
bug_mapping_with_upstream.txt Revert "Reverting renaming changes from dbmanul" May 8, 2018
changelog.txt Added 3.6.0 release notes Apr 5, 2018
dbmanul-debian someone’s IDE(?) converted symlinks to regular files on checkin May 12, 2018
dbmanul-rpm someone’s IDE(?) converted symlinks to regular files on checkin May 12, 2018
findbugs-exclude.xml CORE-2874 Ensure consistent charset encoding usage Sep 1, 2016
findbugs.core.fbp Removed easymock usage Jan 21, 2016
liquibase.fbp Findbugs fixes Aug 16, 2016
pom.xml fix indentation of POM files, keeping the two 4-space outliers May 12, 2018
pr_mapping_with_upstream.txt Revert "Reverting renaming changes from dbmanul" May 8, 2018

README.md

DB-Manul

A change management system for databases based on Liquibase

This fork of the Liquibase source aims to:

  • Improve the integration tests
  • Improve code documentation and maintainability
  • Support more Oracle Database features
  • Support different connections for changesets (e.g. use an administrative connection for creating tablespaces and a "regular" connection for normal schema updates)
  • Modernise the code to use JDK 8 features.
  • Internationalise the messages

For a current list of changes, fixes and improvements, please see: https://github.com/dbmanul/dbmanul/blob/master/RELEASE_NOTES_0.1.md

Current status summary

Last updated: December 30th, 2017

PLEASE NOTE THAT THE FORK, IN GENERAL, SHOULD BE CONSIDERED UNSTABLE FOR THE MOMENT. A lot of work is currently being done to get all integration tests (OSS + commercial RDBMSs) green; manual testing of features like CDI, RPM/Debian packaging, Spring integration etc. comes after that.

Database support:

Full support (DBMS-specific integration tests green, Software should be usable for everyday tasks):

  • Apache Derby (tested: 10.13.1.1)
  • H2 database (tested: 1.4.195)
  • HyperSQL (hsqldb) (tested: 2.4.0)
  • IBM DB2 LUW Express (tested: 10.6)
  • MariaDB (tested: 10.2.6, with InnoDB)
  • MySQL (tested: 5.7.18, with InnoDB)
  • Oracle Database (tested: 12.1.0.2 and 12.2.0.1)
  • PostgreSQL (tested: 9.6)
  • Microsoft SQL Server (MSSQL) (tested: 2016, 2017, Express & Developer Editions)

Somewhat working (work in progress):

  • Firebird (a problem in snapshotting causes duplicate indexes to be generated to FOREIGN KEY constraints). Regular change sets (forward migration) seems to work fine. as deferrable, which is a functionality not present in MySQL/MariaDB AFAIK).
  • SAP SQL Anywhere 17 (formerly known as Sybase AS Anywhere)
    • Basic functionality is working
    • Currently failing tests:
      • runUpdateOnOldChangelogTableFormat (should not affect new users)
      • Change logs working on more than one schema simultaneously
  • SQLite: Generally working except for operations that would be possible with ALTER TABLE on other RDBMS (see https://dbmanul.atlassian.net/browse/DBM-3 for details)

Unstable multiple integration tests to fail

  • IBM Informix (work started, but several SQL generators are broken; needs considerable work to get it back again) Currently completely broken due to a regression involving catalog and schema names

Untested / Work has not started yet:

  • SAP Adaptive Server Enterprise (ASE) (formely known as Sybase Adaptive Server)
  • Microsoft SQL Server (in case-sensitive mode)
  • Microsoft SQL Server (via JTDS driver)
  • Determine the oldest supported versions of the RDBMSs, procure them, and test compatibility

Functionally beyond regular changesets:

  • Snapshotting can only retrieve attributes that are present in most RDBMS (e.g. names of columns, PKs etc.) Attributes that are specific to a RDBMS (like storage attributes for segments in Oracle) cannot be snapshotted currently.
  • RPM packaging works, there is a small bug if non-release-version directories are used
  • Debian packaging could work (DEBs get generated), but need to set up a Debian box to test it
  • Documentation, website: Not yet updated / reviewed.

Currently untested functionality:

  • CDI
  • Database documentation generation (DbDoc - though automated tests seem to work)