+++ This bug was initially created as a clone of Bug #1503176 +++
Description of problem:
When migrating from 0.9.54 to 2.x, if a database has activation keys that are referencing products that have been deleted, the migration will fail. The failure occurs in PerOrgsProductsMigrationTask due to the presence of the records in cp_activationkey_product that reference the missing products.
Version-Release number of selected component (if applicable): 2.x series
How reproducible: Always
Steps to Reproduce:
1. Starting with 0.9.54, create an activation key using a productId that does not exist.
2. Attempt to migrate to candlepin 2.0.
liquibase --driver=org.postgresql.Driver --classpath=/usr/share/java/postgresql-jdbc.jar:/var/lib/tomcat/webapps/candlepin/WEB-INF/classes/ --changeLogFile=db/changelog/changelog-update.xml --url=jdbc:postgresql:candlepin --username=candlepin --password=<PASSWORD> migrate -Dcommunity=False
Actual results:
Liquibase update Failed: Migration failed for change set db/changelog/20150210094558-perorgproducts-phase-1.xml::20150210094558-35::crog:
Reason: liquibase.exception.UnexpectedLiquibaseException: liquibase.exception.CustomChangeException: liquibase.exception.DatabaseException: One or more orgs failed data validation
Expected results:
Successful migration
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.
For information on the advisory, and where to find the updated files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHSA-2018:0336