mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-25 17:04:54 +00:00
Fix Test Suite Migrations (#12934)
This commit is contained in:
parent
f7e2ae0bb6
commit
c101b3c9d1
@ -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);
|
||||||
|
}
|
||||||
|
}
|
@ -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<TestSuite> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,6 @@ import java.io.File;
|
|||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.flywaydb.core.api.configuration.ClassicConfiguration;
|
import org.flywaydb.core.api.configuration.ClassicConfiguration;
|
||||||
import org.flywaydb.core.api.configuration.Configuration;
|
import org.flywaydb.core.api.configuration.Configuration;
|
||||||
@ -148,7 +147,11 @@ public class MigrationFile implements Comparable<MigrationFile> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String getVersionPackageName() {
|
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) {
|
private boolean checkIfQueryPreviouslyRan(String query) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user