]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8079 create table rule_repositories
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 14 Sep 2016 11:05:11 +0000 (13:05 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 14 Sep 2016 14:26:47 +0000 (16:26 +0200)
Goal is to remove the in-memory cache RuleRepositories. It is
not populated on web "followers" (cluster mode) and makes
WS api/rules/app and api/rules/repositories fail.

server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1319_create_table_rule_repositories.rb [new file with mode: 0644]
sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java
sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql
sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl

diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1319_create_table_rule_repositories.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1319_create_table_rule_repositories.rb
new file mode 100644 (file)
index 0000000..66b86b6
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# SonarQube, open source software quality management tool.
+# Copyright (C) 2008-2014 SonarSource
+# mailto:contact AT sonarsource DOT com
+#
+# SonarQube 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.
+#
+# SonarQube 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.
+#
+
+#
+# SonarQube 6.1
+#
+class CreateTableRuleRepositories < ActiveRecord::Migration
+
+  def self.up
+    create_table 'rule_repositories', :id => false do |t|
+      t.column 'kee', :string, :limit => 200, :null => false
+      t.column 'language', :string, :limit => 20, :null => false
+      t.column 'name', :string, :limit => 4000, :null => false
+      t.column 'created_at', :big_integer, :null => false
+    end
+    add_primary_key 'rule_repositories', 'kee'
+  end
+end
index 7e5a27c3e0be94b5faf1d82612b249b0fd9d852b..fa67f02ad38c8b7c49134a8d8a450425dcce70de 100644 (file)
@@ -30,7 +30,7 @@ import org.sonar.db.MyBatis;
 
 public class DatabaseVersion {
 
-  public static final int LAST_VERSION = 1_318;
+  public static final int LAST_VERSION = 1_319;
 
   /**
    * The minimum supported version which can be upgraded. Lower
@@ -87,6 +87,7 @@ public class DatabaseVersion {
     "rules",
     "rules_parameters",
     "rules_profiles",
+    "rule_repositories",
     "schema_migrations",
     "snapshots",
     "users",
index 7310b9b985e778ac0311a6831b637bc831164818..e7b7850eec04f2f8d410ee509d9211585d16dfb5 100644 (file)
@@ -503,6 +503,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1315');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1316');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1317');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1318');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1319');
 
 INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, EXTERNAL_IDENTITY, EXTERNAL_IDENTITY_PROVIDER, USER_LOCAL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT) VALUES (1, 'admin', 'Administrator', '', 'admin', 'sonarqube', true, 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '1418215735482', '1418215735482');
 ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
index e3c74e61ba1e2ce7912937393411ebfe61e8395f..6b5b37e0aeb9284eec8fcf6e54ef3591f5d363f2 100644 (file)
@@ -92,6 +92,13 @@ CREATE TABLE "GROUP_ROLES" (
   "ROLE" VARCHAR(64) NOT NULL
 );
 
+CREATE TABLE "RULE_REPOSITORIES" (
+  "KEE" VARCHAR(200) NOT NULL PRIMARY KEY,
+  "LANGUAGE" VARCHAR(20) NOT NULL,
+  "NAME" VARCHAR(4000) NOT NULL,
+  "CREATED_AT" BIGINT
+);
+
 CREATE TABLE "RULES" (
   "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
   "PLUGIN_RULE_KEY" VARCHAR(200) NOT NULL,
@@ -123,7 +130,6 @@ CREATE TABLE "RULES" (
   "UPDATED_AT" BIGINT
 );
 
-
 CREATE TABLE "WIDGET_PROPERTIES" (
   "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
   "WIDGET_ID" INTEGER NOT NULL,