diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/migration/mysql/v112/Migration.java b/openmetadata-service/src/main/java/org/openmetadata/service/migration/mysql/v112/Migration.java new file mode 100644 index 00000000000..4b1a6450f4e --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/migration/mysql/v112/Migration.java @@ -0,0 +1,32 @@ +package org.openmetadata.service.migration.mysql.v112; + +import static org.openmetadata.service.migration.postgres.v112.Migration.unquoteTestSuiteMigration; + +import lombok.SneakyThrows; +import org.jdbi.v3.core.Handle; +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.service.migration.api.MigrationProcessImpl; +import org.openmetadata.service.migration.utils.MigrationFile; + +public class Migration extends MigrationProcessImpl { + private CollectionDAO collectionDAO; + private Handle handle; + + public Migration(MigrationFile migrationFile) { + super(migrationFile); + } + + @Override + public void initialize(Handle handle) { + super.initialize(handle); + this.handle = handle; + this.collectionDAO = handle.attach(CollectionDAO.class); + } + + @Override + @SneakyThrows + public void runDataMigration() { + // Run Data Migration to Remove the quoted Fqn` + unquoteTestSuiteMigration(collectionDAO); + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/migration/postgres/v112/Migration.java b/openmetadata-service/src/main/java/org/openmetadata/service/migration/postgres/v112/Migration.java new file mode 100644 index 00000000000..c30c89930da --- /dev/null +++ b/openmetadata-service/src/main/java/org/openmetadata/service/migration/postgres/v112/Migration.java @@ -0,0 +1,58 @@ +package org.openmetadata.service.migration.postgres.v112; + +import java.util.List; +import java.util.Set; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.jdbi.v3.core.Handle; +import org.openmetadata.schema.tests.TestSuite; +import org.openmetadata.schema.type.Include; +import org.openmetadata.service.jdbi3.CollectionDAO; +import org.openmetadata.service.jdbi3.ListFilter; +import org.openmetadata.service.jdbi3.TestSuiteRepository; +import org.openmetadata.service.migration.api.MigrationProcessImpl; +import org.openmetadata.service.migration.utils.MigrationFile; +import org.openmetadata.service.util.EntityUtil; + +@Slf4j +public class Migration extends MigrationProcessImpl { + private CollectionDAO collectionDAO; + private Handle handle; + + public Migration(MigrationFile migrationFile) { + super(migrationFile); + } + + @Override + public void initialize(Handle handle) { + super.initialize(handle); + this.handle = handle; + this.collectionDAO = handle.attach(CollectionDAO.class); + } + + @Override + @SneakyThrows + public void runDataMigration() { + // Run Data Migration to Remove the quoted Fqn` + unquoteTestSuiteMigration(collectionDAO); + } + + public static void unquoteTestSuiteMigration(CollectionDAO collectionDAO) { + TestSuiteRepository testSuiteRepository = new TestSuiteRepository(collectionDAO); + List testSuites = + testSuiteRepository.listAll(new EntityUtil.Fields(Set.of("id")), new ListFilter(Include.ALL)); + for (TestSuite suite : testSuites) { + if (Boolean.TRUE.equals(suite.getExecutable())) { + String fqn = suite.getFullyQualifiedName(); + String updatedFqn = fqn; + if (fqn.startsWith("\"") && fqn.endsWith("\"")) { + updatedFqn = fqn.substring(1, fqn.length() - 1); + } + // update the name and fqn + suite.setName(updatedFqn); + suite.setFullyQualifiedName(updatedFqn); + collectionDAO.testSuiteDAO().update(suite); + } + } + } +} diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/migration/utils/MigrationFile.java b/openmetadata-service/src/main/java/org/openmetadata/service/migration/utils/MigrationFile.java index 92db0d99d78..1052452680e 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/migration/utils/MigrationFile.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/migration/utils/MigrationFile.java @@ -4,7 +4,6 @@ import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.flywaydb.core.api.configuration.ClassicConfiguration; import org.flywaydb.core.api.configuration.Configuration; @@ -148,7 +147,11 @@ public class MigrationFile implements Comparable { } private String getVersionPackageName() { - return "v" + Arrays.toString(versionNumbers); + StringBuilder arrayAsString = new StringBuilder(); + for (int i = 0; i < versionNumbers.length; i++) { + arrayAsString.append(versionNumbers[i]); + } + return "v" + arrayAsString; } private boolean checkIfQueryPreviouslyRan(String query) {