diff --git a/airbyte-cdk/java/airbyte-cdk/typing-deduping/src/main/java/io/airbyte/integrations/base/destination/typing_deduping/migrators/Migration.kt b/airbyte-cdk/java/airbyte-cdk/typing-deduping/src/main/java/io/airbyte/integrations/base/destination/typing_deduping/migrators/Migration.kt index fa8f73dfe48a..fd8a442b584e 100644 --- a/airbyte-cdk/java/airbyte-cdk/typing-deduping/src/main/java/io/airbyte/integrations/base/destination/typing_deduping/migrators/Migration.kt +++ b/airbyte-cdk/java/airbyte-cdk/typing-deduping/src/main/java/io/airbyte/integrations/base/destination/typing_deduping/migrators/Migration.kt @@ -35,5 +35,14 @@ interface Migration { */ fun migrateIfNecessary(state: State, stream: StreamConfig): MigrationResult - data class MigrationResult(val updatedState: State, val softReset: Boolean) + data class MigrationResult(val updatedState: State, val softReset: Boolean) { + companion object { + /** + * If a migration detects no need to migrate, it should return this. + */ + fun noop(updatedState: State): MigrationResult { + return MigrationResult(updatedState, false) + } + } + } }