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,
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
@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
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
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