2014-09-18 17:22:18 +02:00
|
|
|
<?php
|
|
|
|
|
2014-09-18 17:22:54 +02:00
|
|
|
final class PhabricatorConfigServerSchema
|
|
|
|
extends PhabricatorConfigStorageSchema {
|
2014-09-18 17:22:18 +02:00
|
|
|
|
|
|
|
private $databases = array();
|
|
|
|
|
|
|
|
public function addDatabase(PhabricatorConfigDatabaseSchema $database) {
|
|
|
|
$key = $database->getName();
|
|
|
|
if (isset($this->databases[$key])) {
|
|
|
|
throw new Exception(
|
|
|
|
pht('Trying to add duplicate database "%s"!', $key));
|
|
|
|
}
|
|
|
|
$this->databases[$key] = $database;
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getDatabases() {
|
|
|
|
return $this->databases;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getDatabase($key) {
|
|
|
|
return idx($this->getDatabases(), $key);
|
|
|
|
}
|
|
|
|
|
2014-09-18 17:22:54 +02:00
|
|
|
protected function getSubschemata() {
|
|
|
|
return $this->getDatabases();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function compareToSimilarSchema(
|
|
|
|
PhabricatorConfigStorageSchema $expect) {
|
|
|
|
return array();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function newEmptyClone() {
|
|
|
|
$clone = clone $this;
|
|
|
|
$clone->databases = array();
|
|
|
|
return $clone;
|
|
|
|
}
|
|
|
|
|
2014-09-18 17:22:18 +02:00
|
|
|
}
|