Package org.dspace.storage.rdbms
Class DatabaseRegistryUpdater
- java.lang.Object
-
- org.dspace.storage.rdbms.DatabaseRegistryUpdater
-
- All Implemented Interfaces:
org.flywaydb.core.api.callback.FlywayCallback
public class DatabaseRegistryUpdater extends Object implements org.flywaydb.core.api.callback.FlywayCallback
This is a FlywayCallback class which automatically updates the Metadata Schema Registry and Bitstream Formats Registries AFTER all Database migrations occur.The reason this runs AFTER all migrations is that the RegistryLoader and MetadataImporter now depend on Hibernate and Hibernate cannot be initialized until the Database is fully migrated.
If a migration needs to use on one or more registry values, there are two options:
- Create/insert those registry values in the migration itself (via SQL or similar).
- Alternatively, first check for the existence of the MetadataSchemaRegistry (or similar) before running the migration logic. If the table or fields do not yet exist, you might be able to skip the migration logic entirely. See "DatabaseUtils.tableExists()" and similar methods.
- Author:
- Tim Donohue
-
-
Constructor Summary
Constructors Constructor Description DatabaseRegistryUpdater()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterBaseline(Connection connection)voidafterClean(Connection connection)voidafterEachMigrate(Connection connection, org.flywaydb.core.api.MigrationInfo migrationInfo)voidafterInfo(Connection connection)voidafterMigrate(Connection connection)voidafterRepair(Connection connection)voidafterValidate(Connection connection)voidbeforeBaseline(Connection connection)voidbeforeClean(Connection connection)voidbeforeEachMigrate(Connection connection, org.flywaydb.core.api.MigrationInfo migrationInfo)voidbeforeInfo(Connection connection)voidbeforeMigrate(Connection connection)voidbeforeRepair(Connection connection)voidbeforeValidate(Connection connection)
-
-
-
Method Detail
-
beforeClean
public void beforeClean(Connection connection)
- Specified by:
beforeCleanin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterClean
public void afterClean(Connection connection)
- Specified by:
afterCleanin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeMigrate
public void beforeMigrate(Connection connection)
- Specified by:
beforeMigratein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterMigrate
public void afterMigrate(Connection connection)
- Specified by:
afterMigratein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeEachMigrate
public void beforeEachMigrate(Connection connection, org.flywaydb.core.api.MigrationInfo migrationInfo)
- Specified by:
beforeEachMigratein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterEachMigrate
public void afterEachMigrate(Connection connection, org.flywaydb.core.api.MigrationInfo migrationInfo)
- Specified by:
afterEachMigratein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeValidate
public void beforeValidate(Connection connection)
- Specified by:
beforeValidatein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterValidate
public void afterValidate(Connection connection)
- Specified by:
afterValidatein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeBaseline
public void beforeBaseline(Connection connection)
- Specified by:
beforeBaselinein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterBaseline
public void afterBaseline(Connection connection)
- Specified by:
afterBaselinein interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeRepair
public void beforeRepair(Connection connection)
- Specified by:
beforeRepairin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterRepair
public void afterRepair(Connection connection)
- Specified by:
afterRepairin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
beforeInfo
public void beforeInfo(Connection connection)
- Specified by:
beforeInfoin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
afterInfo
public void afterInfo(Connection connection)
- Specified by:
afterInfoin interfaceorg.flywaydb.core.api.callback.FlywayCallback
-
-