]> source.dussan.org Git - sonarqube.git/commitdiff
Refactor the table AUTHORS
authorSimon Brandhof <simon.brandhof@gmail.com>
Tue, 27 Mar 2012 08:40:38 +0000 (10:40 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Tue, 27 Mar 2012 08:43:30 +0000 (10:43 +0200)
* add primary key
* rename the column COMMITTER to LOGIN

sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java
sonar-core/src/main/resources/org/sonar/core/persistence/rows-derby.sql
sonar-core/src/main/resources/org/sonar/core/persistence/schema-derby.ddl
sonar-server/src/main/webapp/WEB-INF/db/migrate/262_create_authors.rb
sonar-server/src/main/webapp/WEB-INF/db/migrate/283_add_authors_primary_key.rb [new file with mode: 0644]

index de431b0fb2618a015a15e87ba8fd12998c92bb87..00c9958beffe8439baeac86339ac309a3bc89acd 100644 (file)
@@ -32,7 +32,7 @@ import java.util.List;
  */
 public class DatabaseVersion implements BatchComponent, ServerComponent {
 
-  public static final int LAST_VERSION = 282;
+  public static final int LAST_VERSION = 283;
 
   public static enum Status {
     UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL
index cd59e8060173b241dae778a19a239c9cd433a636..0ba5e36a0ac8109fedb11ec23a99e43666cb8290 100644 (file)
@@ -182,6 +182,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('263');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('280');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('281');
 INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('282');
+INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('283');
 
 INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null);
 ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2;
index 334c5c8edb38937a0f8b4e9fda1f177d64dd48a0..bf81790803ff012f833dcb794ea1fc4897e5695c 100644 (file)
@@ -503,8 +503,9 @@ CREATE TABLE "RULE_NOTES" (
 );
 
 CREATE TABLE "AUTHORS" (
+  "ID" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),
   "PERSON_ID" INTEGER,
-  "COMMITTER" VARCHAR(100),
+  "LOGIN" VARCHAR(100),
   "CREATED_AT" TIMESTAMP,
   "UPDATED_AT" TIMESTAMP
 );
@@ -696,4 +697,6 @@ ALTER TABLE "ACTION_PLANS" ADD CONSTRAINT "SQL110927104447650" PRIMARY KEY ("ID"
 
 ALTER TABLE "ACTIVE_RULE_NOTES" ADD CONSTRAINT "SQL110927104847650" PRIMARY KEY ("ID");
 
-ALTER TABLE "RULE_NOTES" ADD CONSTRAINT "SQL110927184847650" PRIMARY KEY ("ID");
+ALTER TABLE "RULE_NOTES" ADD PRIMARY KEY ("ID");
+
+ALTER TABLE "AUTHORS" ADD PRIMARY KEY ("ID");
index f43c3b4a909ab51879aba0dbcf25f41e42499921..c9ca527aa16efffaa6b0652999ae51cf87705910 100644 (file)
 class CreateAuthors < ActiveRecord::Migration
 
   def self.up
-    create_table 'authors', :id => false do |t|
-      t.column 'person_id', :integer, :null => false
-      t.column 'committer', :string, :null => true, :limit => 100
-      t.timestamps
-    end
+    # removed in version 2.15, see migration 283
   end
 
 end
diff --git a/sonar-server/src/main/webapp/WEB-INF/db/migrate/283_add_authors_primary_key.rb b/sonar-server/src/main/webapp/WEB-INF/db/migrate/283_add_authors_primary_key.rb
new file mode 100644 (file)
index 0000000..c129df4
--- /dev/null
@@ -0,0 +1,40 @@
+#
+# Sonar, entreprise quality control tool.
+# Copyright (C) 2008-2012 SonarSource
+# mailto:contact AT sonarsource DOT com
+#
+# Sonar 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.
+#
+# Sonar 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 Sonar; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+#
+
+#
+# Sonar 2.15
+#
+class AddAuthorsPrimaryKey < ActiveRecord::Migration
+
+  def self.up
+    begin
+      drop_table 'authors'
+    rescue
+      # table does not exist -> this is not an upgrade but a fresh install
+    end
+
+    create_table 'authors' do |t|
+      t.column 'person_id', :integer, :null => false
+      t.column 'login', :string, :null => true, :limit => 100
+      t.timestamps
+    end
+  end
+
+end