Package org.dspace.storage.rdbms
Class RegistryUpdater
java.lang.Object
org.dspace.storage.rdbms.RegistryUpdater
- All Implemented Interfaces:
org.flywaydb.core.api.callback.Callback
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 -
Method Summary
Modifier and TypeMethodDescriptionbooleancanHandleInTransaction(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) Whether event can be handled in a transaction or whether it must be handle outside of transaction.The callback name, Flyway will use this to sort the callbacks alphabetically before executing themvoidhandle(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) What to run when the callback is triggered.booleansupports(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) Events supported by this callback.
-
Constructor Details
-
RegistryUpdater
public RegistryUpdater()
-
-
Method Details
-
getCallbackName
The callback name, Flyway will use this to sort the callbacks alphabetically before executing them- Specified by:
getCallbackNamein interfaceorg.flywaydb.core.api.callback.Callback- Returns:
- The callback name
-
supports
public boolean supports(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) Events supported by this callback.- Specified by:
supportsin interfaceorg.flywaydb.core.api.callback.Callback- Parameters:
event- Flyway eventcontext- Flyway context- Returns:
- true if AFTER_MIGRATE event
-
canHandleInTransaction
public boolean canHandleInTransaction(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) Whether event can be handled in a transaction or whether it must be handle outside of transaction.- Specified by:
canHandleInTransactionin interfaceorg.flywaydb.core.api.callback.Callback- Parameters:
event- Flyway eventcontext- Flyway context- Returns:
- true
-
handle
public void handle(org.flywaydb.core.api.callback.Event event, org.flywaydb.core.api.callback.Context context) What to run when the callback is triggered.- Specified by:
handlein interfaceorg.flywaydb.core.api.callback.Callback- Parameters:
event- Flyway eventcontext- Flyway context
-