Example #1
0
    public static function install(Project $project)
    {
        $tableName = "projectlog{$project->getId()}";
        SystemEvent::raise(SystemEvent::INFO, "Creating {$tableName} table...", __METHOD__);
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  date DATETIME DEFAULT CURRENT_TIMESTAMP,
  type TINYINT DEFAULT 0,
  message TEXT DEFAULT '',
  username VARCHAR(20) NOT NULL DEFAULT ''
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
            return false;
        }
        SystemEvent::raise(SystemEvent::INFO, "{$tableName} table created.", __METHOD__);
        return true;
    }
Example #2
0
    public static function install()
    {
        SystemEvent::raise(SystemEvent::INFO, "Creating systemsettings table...", __METHOD__);
        $tableName = 'systemsettings';
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW(
  key VARCHAR(255) PRIMARY KEY,
  value TEXT NOT NULL DEFAULT ''
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
            return false;
        }
        $self = new SystemSettings();
        $self->_save(true);
        // This allows us to save the default system settings values at install time.
        SystemEvent::raise(SystemEvent::INFO, "{$tableName} table created.", __METHOD__);
        return true;
    }
Example #3
0
 public static function install(Project $project)
 {
     $tableName = "phpdepend{$project->getId()}";
     SystemEvent::raise(SystemEvent::INFO, "Creating {$tableName} table...", __METHOD__);
     $sql = "\nDROP TABLE IF EXISTS {$tableName}NEW;\nCREATE TABLE IF NOT EXISTS {$tableName}NEW (\n  buildid INTEGER PRIMARY KEY,\n  date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  version TEXT NOT NULL DEFAULT '" . CINTIENT_DATABASE_SCHEMA_VERSION . "',\n  ahh REAL UNSIGNED NOT NULL DEFAULT 0.0,\n  andc REAL UNSIGNED NOT NULL DEFAULT 0.0,\n  calls INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  ccn INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  ccn2 INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  cloc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  clsa INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  clsc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  eloc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  fanout INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  leafs INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  lloc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  loc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  maxdit INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  ncloc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  noc INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  nof INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  noi INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  nom INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  nop INTEGER UNSIGNED NOT NULL DEFAULT 0,\n  roots INTEGER UNSIGNED NOT NULL DEFAULT 0\n);\n";
     if (!Database::setupTable($tableName, $sql)) {
         SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
         return false;
     }
     SystemEvent::raise(SystemEvent::INFO, "{$tableName} table created.", __METHOD__);
     return true;
 }
Example #4
0
    public static function install()
    {
        SystemEvent::raise(SystemEvent::INFO, "Creating project related tables...", __METHOD__);
        $tableName = 'project';
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  releaselabel TEXT NOT NULL DEFAULT '',
  datecreation DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  datecheckedforchanges DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  deploymentbuilder TEXT NOT NULL DEFAULT '',
  description TEXT DEFAULT '',
  integrationbuilder TEXT NOT NULL DEFAULT '',
  optionreleasepackage TINYINT UNSIGNED NOT NULL DEFAULT 0,
  scmcheckchangestimeout MEDIUMINT UNSIGNED NOT NULL DEFAULT 30,
  scmconnectortype VARCHAR(20) NOT NULL DEFAULT '',
  scmpassword VARCHAR(255) NOT NULL DEFAULT '',
  scmremoterepository VARCHAR(255) NOT NULL DEFAULT '',
  scmusername VARCHAR(255) NOT NULL DEFAULT '',
  scmenvvars VARCHAR(255) NOT NULL DEFAULT '',
  specialtasks TEXT NOT NULL DEFAULT '',
  statsnumbuilds INTEGER UNSIGNED NOT NULL DEFAULT 0,
  status TINYINT UNSIGNED NOT NULL DEFAULT 0,
  title VARCHAR(255) NOT NULL DEFAULT '',
  visits INTEGER UNSIGNED NOT NULL DEFAULT 0,
  workdir VARCHAR(255) NOT NULL DEFAULT '',
  avatar VARCHAR(255) NOT NULL DEFAULT ''
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up project table.", __METHOD__);
            return false;
        }
        if (!Project_User::install()) {
            return false;
        }
        //
        // Upgrade Project_Build tables
        //
        $tables = Database::getTables();
        $dummyProject = new Project();
        $dummyProject->setAutoSave(false);
        // Never save this dummy project
        foreach ($tables as $table) {
            if (preg_match('/^(projectbuild)(\\d+)$/', $table, $matches)) {
                $dummyProject->setId($matches[2]);
                if (!Project_Build::install($dummyProject)) {
                    return false;
                }
            } elseif (preg_match('/^(projectlog)(\\d+)$/', $table, $matches)) {
                $dummyProject->setId($matches[2]);
                if (!Project_Log::install($dummyProject)) {
                    return false;
                }
            }
        }
        $dummyProject = null;
        unset($dummyProject);
        SystemEvent::raise(SystemEvent::INFO, "All project related tables created.", __METHOD__);
        return true;
    }
Example #5
0
    public static function install(Project $project)
    {
        $tableName = "projectbuild{$project->getId()}";
        SystemEvent::raise(SystemEvent::INFO, "Creating {$tableName} related tables...", __METHOD__);
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  date DATETIME DEFAULT NULL,
  duration SMALLINT DEFAULT 1,
  label VARCHAR(255) NOT NULL DEFAULT '',
  description TEXT NOT NULL DEFAULT '',
  output TEXT NOT NULL DEFAULT '',
  releasefile TEXT NOT NULL DEFAULT '',
  specialtasks TEXT NOT NULL DEFAULT '',
  status TINYINT UNSIGNED NOT NULL DEFAULT 0,
  scmrevision VARCHAR(40) NOT NULL DEFAULT ''
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
            return false;
        }
        // MAJOR TODO: have Project_Build automatically call each special task's install()
        //
        // Install PhpDepend schema
        //
        if (!Build_SpecialTask_PhpDepend::install($project)) {
            return false;
        }
        SystemEvent::raise(SystemEvent::INFO, "{$tableName} related tables created.", __METHOD__);
        return true;
    }
Example #6
0
    public static function install()
    {
        SystemEvent::raise(SystemEvent::INFO, "Creating user related tables...", __METHOD__);
        //
        // USER
        //
        $tableName = 'user';
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW(
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  username VARCHAR(20),
  enabled TINYINT UNSIGNED NOT NULL DEFAULT 1,
  creationdate DATETIME DEFAULT CURRENT_TIMESTAMP,
  email VARCHAR(255),
  cos TINYINT UNSIGNED,
  name VARCHAR(255) NOT NULL DEFAULT '',
  notifications TEXT NOT NULL DEFAULT '',
  avatar VARCHAR(255) NOT NULL DEFAULT ''
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
            return false;
        }
        //
        // USERAUTH
        //
        $tableName = 'userauth';
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW(
  userid INTEGER PRIMARY KEY,
  password VARCHAR(255)
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up {$tableName} table.", __METHOD__);
            return false;
        }
        SystemEvent::raise(SystemEvent::INFO, "User related tables created.", __METHOD__);
        return true;
    }
Example #7
0
    /**
     * Database setup
     */
    public static function install()
    {
        SystemEvent::raise(SystemEvent::INFO, "Creating projectuser table...", __METHOD__);
        $tableName = 'projectuser';
        $access = Access::READ;
        $sql = <<<EOT
DROP TABLE IF EXISTS {$tableName}NEW;
CREATE TABLE IF NOT EXISTS {$tableName}NEW(
  projectid INTEGER UNSIGNED NOT NULL,
  userid INTEGER UNSIGNED NOT NULL,
  access TINYINT UNSIGNED NOT NULL DEFAULT {$access},
  notifications TEXT NOT NULL DEFAULT '',
  PRIMARY KEY (projectid, userid)
);
EOT;
        if (!Database::setupTable($tableName, $sql)) {
            SystemEvent::raise(SystemEvent::ERROR, "Problems setting up projectuser table.", __METHOD__);
            return false;
        }
        SystemEvent::raise(SystemEvent::INFO, "Projectuser table created.", __METHOD__);
        return true;
    }