Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-7507

Integrate Liquibase support in the migration procedure to allow more flexible schema updates

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.4
    • Fix Version/s: 4.0-milestone-1
    • Component/s: Storage
    • Labels:
      None
    • Difficulty:
      Unknown
    • Similar issues:

      Description

      Liquibase is an open source (Apache 2.0 Licensed), database-independent library for tracking, managing and applying database changes. See http://www.liquibase.org/ for details.

      It provide its own migration management, allowing multiple change set to be applied coherently on a database in any state. It is driven by XML based files.
      The purpose of this improvement is both to provide access to these automated liquibase features and also to allow data migration to dynamically produce their own liquibase change log.

      This will not replace, but complement, the existing schema updates done using hibernate. The hibernate schema update will be execute first, than liquibase will be invoked.

      DataMigration components (that have been determined to be executed based on the database version), will be interrogated to provide their own set of <ChangeSet> elements (not wrapped in a <databaseChangeLog>), and these will be executed in order.
      Than, if a ressource package named 'liquibase-xwiki/' has been provided, all the xml file it contains will be evaluated as well.

      Logging will be properly redirected to our logging component and filtered to avoid unwanted "if this is the case" warnings.

        Attachments

          Activity

            People

            • Assignee:
              softec Denis Gervalle
              Reporter:
              softec Denis Gervalle
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: