Permalink
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
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
85 lines (68 sloc) 3.93 KB

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)