Browse Source

SONAR-16302 drop rules_metadata created_at and updated_at

tags/9.5.0.56709
Pierre 2 years ago
parent
commit
8ff2999796

+ 1
- 3
server/sonar-db-dao/src/schema/schema-sq.ddl View File

@@ -866,9 +866,7 @@ CREATE TABLE "RULES_METADATA"(
"AD_HOC_NAME" CHARACTER VARYING(200),
"AD_HOC_DESCRIPTION" CHARACTER LARGE OBJECT,
"AD_HOC_SEVERITY" CHARACTER VARYING(10),
"AD_HOC_TYPE" TINYINT,
"CREATED_AT" BIGINT NOT NULL,
"UPDATED_AT" BIGINT NOT NULL
"AD_HOC_TYPE" TINYINT
);
ALTER TABLE "RULES_METADATA" ADD CONSTRAINT "PK_RULES_METADATA" PRIMARY KEY("RULE_UUID");


+ 3
- 1
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v95/DbVersion95.java View File

@@ -34,6 +34,8 @@ public class DbVersion95 implements DbVersion {
.add(6406, "Insert description from RULES into RULE_DESC_SECTIONS", InsertRuleDescriptionIntoRuleDescSections.class)
.add(6407, "Create index for RULE_DESC_SECTIONS", CreateIndexForRuleDescSections.class)
.add(6408, "Drop column DESCRIPTIONS from RULES table", DropRuleDescriptionColumn.class)
;
.add(6409, "Drop column CREATED_AT from RULES_METADATA table", DropRuleMetadataCreatedAtColumn.class)
.add(6410, "Drop column UPDATED_AT from RULES_METADATA table", DropRuleMetadataUpdatedAtColumn.class)
;
}
}

+ 33
- 0
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataCreatedAtColumn.java View File

@@ -0,0 +1,33 @@
/*
* SonarQube
* Copyright (C) 2009-2022 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.db.migration.version.v95;

import org.sonar.db.Database;
import org.sonar.server.platform.db.migration.step.DropColumnChange;

public class DropRuleMetadataCreatedAtColumn extends DropColumnChange {

private static final String TABLE_NAME = "rules_metadata";
private static final String COLUMN_NAME = "created_at";

protected DropRuleMetadataCreatedAtColumn(Database db) {
super(db, TABLE_NAME, COLUMN_NAME);
}
}

+ 33
- 0
server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataUpdatedAtColumn.java View File

@@ -0,0 +1,33 @@
/*
* SonarQube
* Copyright (C) 2009-2022 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.db.migration.version.v95;

import org.sonar.db.Database;
import org.sonar.server.platform.db.migration.step.DropColumnChange;

public class DropRuleMetadataUpdatedAtColumn extends DropColumnChange {

private static final String TABLE_NAME = "rules_metadata";
private static final String COLUMN_NAME = "updated_at";

protected DropRuleMetadataUpdatedAtColumn(Database db) {
super(db, TABLE_NAME, COLUMN_NAME);
}
}

+ 57
- 0
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataCreatedAtColumnTest.java View File

@@ -0,0 +1,57 @@
/*
* SonarQube
* Copyright (C) 2009-2022 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.db.migration.version.v95;

import java.sql.SQLException;
import java.sql.Types;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.db.CoreDbTester;
import org.sonar.server.platform.db.migration.step.DdlChange;

public class DropRuleMetadataCreatedAtColumnTest {

private static final String COLUMN_NAME = "created_at";
private static final String TABLE_NAME = "rules_metadata";

@Rule
public final CoreDbTester db = CoreDbTester.createForSchema(DropRuleMetadataCreatedAtColumnTest.class, "schema.sql");

private final DdlChange underTest = new DropRuleMetadataCreatedAtColumn(db.database());

@Test
public void migration_should_drop_created_at_column() throws SQLException {
db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, Types.BIGINT,null, false);

underTest.execute();
db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME);
}

@Test
public void migration_should_be_reentrant() throws SQLException {
db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, Types.BIGINT,null, false);
underTest.execute();
// re-entrant
underTest.execute();
db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME);
}


}

+ 57
- 0
server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataUpdatedAtColumnTest.java View File

@@ -0,0 +1,57 @@
/*
* SonarQube
* Copyright (C) 2009-2022 SonarSource SA
* mailto:info AT sonarsource DOT com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package org.sonar.server.platform.db.migration.version.v95;

import java.sql.SQLException;
import java.sql.Types;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.db.CoreDbTester;
import org.sonar.server.platform.db.migration.step.DdlChange;

public class DropRuleMetadataUpdatedAtColumnTest {

private static final String COLUMN_NAME = "updated_at";
private static final String TABLE_NAME = "rules_metadata";

@Rule
public final CoreDbTester db = CoreDbTester.createForSchema(DropRuleMetadataUpdatedAtColumnTest.class, "schema.sql");

private final DdlChange underTest = new DropRuleMetadataUpdatedAtColumn(db.database());

@Test
public void migration_should_drop_created_at_column() throws SQLException {
db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, Types.BIGINT,null, false);

underTest.execute();
db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME);
}

@Test
public void migration_should_be_reentrant() throws SQLException {
db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, Types.BIGINT,null, false);
underTest.execute();
// re-entrant
underTest.execute();
db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME);
}


}

+ 18
- 0
server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataCreatedAtColumnTest/schema.sql View File

@@ -0,0 +1,18 @@
CREATE TABLE "RULES_METADATA"(
"RULE_UUID" CHARACTER VARYING(40) NOT NULL,
"NOTE_DATA" CHARACTER LARGE OBJECT,
"NOTE_USER_UUID" CHARACTER VARYING(255),
"NOTE_CREATED_AT" BIGINT,
"NOTE_UPDATED_AT" BIGINT,
"REMEDIATION_FUNCTION" CHARACTER VARYING(20),
"REMEDIATION_GAP_MULT" CHARACTER VARYING(20),
"REMEDIATION_BASE_EFFORT" CHARACTER VARYING(20),
"TAGS" CHARACTER VARYING(4000),
"AD_HOC_NAME" CHARACTER VARYING(200),
"AD_HOC_DESCRIPTION" CHARACTER LARGE OBJECT,
"AD_HOC_SEVERITY" CHARACTER VARYING(10),
"AD_HOC_TYPE" TINYINT,
"CREATED_AT" BIGINT NOT NULL,
"UPDATED_AT" BIGINT NOT NULL
);
ALTER TABLE "RULES_METADATA" ADD CONSTRAINT "PK_RULES_METADATA" PRIMARY KEY("RULE_UUID");

+ 17
- 0
server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v95/DropRuleMetadataUpdatedAtColumnTest/schema.sql View File

@@ -0,0 +1,17 @@
CREATE TABLE "RULES_METADATA"(
"RULE_UUID" CHARACTER VARYING(40) NOT NULL,
"NOTE_DATA" CHARACTER LARGE OBJECT,
"NOTE_USER_UUID" CHARACTER VARYING(255),
"NOTE_CREATED_AT" BIGINT,
"NOTE_UPDATED_AT" BIGINT,
"REMEDIATION_FUNCTION" CHARACTER VARYING(20),
"REMEDIATION_GAP_MULT" CHARACTER VARYING(20),
"REMEDIATION_BASE_EFFORT" CHARACTER VARYING(20),
"TAGS" CHARACTER VARYING(4000),
"AD_HOC_NAME" CHARACTER VARYING(200),
"AD_HOC_DESCRIPTION" CHARACTER LARGE OBJECT,
"AD_HOC_SEVERITY" CHARACTER VARYING(10),
"AD_HOC_TYPE" TINYINT,
"UPDATED_AT" BIGINT NOT NULL
);
ALTER TABLE "RULES_METADATA" ADD CONSTRAINT "PK_RULES_METADATA" PRIMARY KEY("RULE_UUID");

Loading…
Cancel
Save