[Title] Change DB schema for "distributions" table
authordonghee yang <donghee.yang@samsung.com>
Fri, 23 Nov 2012 11:13:51 +0000 (20:13 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Fri, 23 Nov 2012 11:13:51 +0000 (20:13 +0900)
src/build_server/BuildServer.rb
src/build_server/DistributionManager.rb

index 8502470ad34211322b5f737bab82f6f6ace0a268..1f7e8b8c221e53262917fa21f1aea327e4b41319 100644 (file)
@@ -547,7 +547,8 @@ class BuildServer
                        db.do "INSERT INTO os_category (name) VALUES ( 'windows' )"
                        db.do "INSERT INTO os_category (name) VALUES ( 'macos' )"
 
-                       db.do "CREATE TABLE distributions(name VARCHAR(32) PRIMARY KEY, pkgsvr_url VARCHAR(256), pkgsvr_addr VARCHAR(64), status VARCHAR(32) DEFAULT 'OPEN')"
+                       PackageDistribution.create_table(db, inc, post_fix)
+
                        db.do "CREATE TABLE remote_build_servers ( id INTEGER PRIMARY KEY #{inc}, svr_addr VARCHAR(64) NOT NULL UNIQUE, description VARCHAR(256) )#{post_fix}"
                        db.do "CREATE TABLE sync_pkg_servers(id INTEGER PRIMARY KEY #{inc}, pkgsvr_url VARCHAR(256), period INTEGER, dist_name VARCHAR(32))"
                        db.do "CREATE TABLE supported_os ( id INTEGER PRIMARY KEY #{inc}, os_category_id INTEGER NOT NULL, name VARCHAR(32) NOT NULL UNIQUE,
index 8801f4fdcd710080d92b896802bb18aea78a79cf..d6374d30d1b7d62194d9b19bcfabd464020a523d 100644 (file)
@@ -36,7 +36,7 @@ require "RegisterPackageJob.rb"
 require "packageServer.rb"
 
 class PackageDistribution
-       attr_accessor :name, :pkgsvr_url, :pkgsvr_ip, :pkgsvr_port, :status
+       attr_accessor :name, :pkgsvr_url, :pkgsvr_ip, :pkgsvr_port, :status, :description
 
        def initialize( name, pkgsvr_url, pkgsvr_ip, pkgsvr_port, status )
                @name = name
@@ -44,6 +44,18 @@ class PackageDistribution
                @pkgsvr_ip = pkgsvr_ip
                @pkgsvr_port = pkgsvr_port
                @status = status
+               @description = ""
+       end
+
+
+       def self.create_table(db, inc, post_fix) 
+               db.do "CREATE TABLE distributions ( 
+                       id INTEGER PRIMARY KEY #{inc}, 
+                       name VARCHAR(32) NOT NULL UNIQUE, 
+                       pkgsvr_url VARCHAR(256), 
+                       pkgsvr_addr VARCHAR(64), 
+                       status VARCHAR(32) NOT NULL DEFAULT 'OPEN', 
+                       description VARCHAR(256) ) #{post_fix}"
        end
 
        
@@ -87,7 +99,10 @@ class PackageDistribution
                pkgsvr_ip = row['pkgsvr_addr'].split(":")[0]
                pkgsvr_port = row['pkgsvr_addr'].split(":")[1].to_i
 
-               return new(row['name'], row['pkgsvr_url'], pkgsvr_ip, pkgsvr_port, row['status'])
+               new_obj = new(row['name'], row['pkgsvr_url'], pkgsvr_ip, pkgsvr_port, row['status'])
+               new_obj.description = row['description']
+       
+               return new_obj
        end
 
 
@@ -95,9 +110,9 @@ class PackageDistribution
                dist_addr = @pkgsvr_ip + ":" + @pkgsvr_port.to_s
                row = db.select_one("SELECT * FROM distributions WHERE name='#{@name}'")
                if row.nil? then
-                       db.do "INSERT INTO distributions VALUES ('#{@name}','#{@pkgsvr_url}','#{dist_addr}','#{@status}')"
+                       db.do "INSERT INTO distributions(name, pkgsvr_url, pkgsvr_addr, status, description) VALUES ('#{@name}','#{@pkgsvr_url}','#{dist_addr}','#{@status}', '#{@description}')"
                else
-                       db.do "UPDATE distributions SET pkgsvr_url='#{@pkgsvr_url}', pkgsvr_addr='#{dist_addr}', status='#{@status}' WHERE name='#{@name}'"
+                       db.do "UPDATE distributions SET pkgsvr_url='#{@pkgsvr_url}', pkgsvr_addr='#{dist_addr}', status='#{@status}', description='#{@description}' WHERE name='#{@name}'"
                end
        end
 end