Feature Availability for PostgreSQL and H2 Databases
Only available in Nexus Repository Pro. Interested in a free trial? Start here.
There are some important considerations to keep in mind before migrating to a new database:
- Not all formats are currently compatible with the new database options. Unsupported formats will not be migrated; you will not be able to add new formats that your new database does not support. Review Feature Compatibility and ensure that your new database supports all of your formats before migrating.
- There are some permanent differences at a detailed level.
- Migration is a one-time process; attempts to migrate again will overwrite data.
Feature Compatibility
The table below details features and formats that are compatible and incompatible with the new databases.
Compatible with New Databases | Not Compatible with New Databases |
---|---|
Formats
Cross-Cutting Features
Features Only Available When Using a PostgreSQL Database | Community Formats
Legacy Formats High Availability Clustering (HA-C) |
Feature Changes
While we've made every effort to keep Nexus Repository's external behavior consistent during this change, there are a number of differences to note.
High Availability Clustering (HA-C)
High Availability Clustering in its current form is a feature of the embedded OrientDB database. Database externalization lays the groundwork for a new clustering method based on stateless nodes that will be easier to manage and more flexible. Once this is released, HA-C will be deprecated and replaced.
Bower Format - Legacy
In 2017, Bower maintainers announced that Bower itself was deprecated and began recommending that developers switch to package managers such as Yarn. The Bower format will not be made compatible with the new database architecture.
Backup & Restore
You can back up the embedded H2 database using the same process you've used before , but you will need to use the Admin - Backup H2 Database scheduled task.
Any existing OrientDB backups will not be compatible with either of the new database options. Nexus Repository will no longer handle external PostgreSQL database backups; this will be the system administrator's responsibility.
Asset Paths
References to Assets via the REST API now require a forwardslash in front a path to work. For example "ticketlist.txt" now must be "/ticketlist.txt".
Logs
There are no changes to log file locations, but any logging related to database interactions will be different.
Groovy Scripting
Nexus Repository has a feature for extending its functionality with Groovy scripts. (This feature is disabled by default for security reasons, but is still available.) In many cases, these scripts accessed undocumented, non-public Nexus Repository APIs. You may need to update scripts connecting to non-public APIs in order for them to work.
For both security and forward compatibility reasons, we recommend making use of the public REST API as much as possible rather than using Groovy scripting.
Webhooks Events
- Asset events contain the same information as before except that the value assigned to the asset name now begins with a forward slash. Beginning the asset's name with a forward slash is not specfic to webhooks.
- There are no changes to the contents of a Component event.
- The following event types are generated for respository uploads:
- Asset and Component events of type
CREATED
- the quantities of these are the same as before. - Several Asset and Component events of type
UPDATED
- more events of this type are generated.
- Asset and Component events of type
- The following scenarios will emit an event of type
PURGED
containing the IDs of all deleted assets and components:- When performing component clean up. Nexus Repository no longer generates
DELETED
events for each component and asset deleted during component clean up. - Whenever deleting the last component from a maven repository.
- When performing component clean up. Nexus Repository no longer generates
- Deleting individual assets/components (i.e., not via component clean up) from a repository generates the same number and types of events as before.
Coordinate-Based Content Selectors
Path-based content selectors are fully compatible with the new architecture. However, we are using the transition to remove a deprecated feature: coordinate-based content selectors. These are any content selectors with references to format-specific coordinates.
External Plugins
You will need to update external plugins that introduce new repository types, interact repositories or repository content, or interact with the database directly to be compatible with the new data access approach.