53 if (empty(self::$instances[
$client->getId()])) {
57 return self::$instances[
$client->getId()];
80 require_once(
'./setup/classes/class.ilClient.php');
81 require_once(
'./Services/Init/classes/class.ilIniFile.php');
83 $ilClient =
new ilClient($client_name,
new ilDBConnections());
85 $ilClient->setDbHost($host);
86 $ilClient->setDbName($dbname);
87 $ilClient->setDbUser($username);
89 $ilClient->setDbType(
$type);
90 $ilClient->writeIni();
110 $clientIniFile = $this->client->ini;
130 if (
$DIC->offsetExists(
'ilDB')) {
131 $DIC->offsetUnset(
'ilDB');
143 $this->client->db =
null;
157 if ($tmp == $delim) {
202 include_once(
"./setup/sql/ilDBTemplate.php");
203 setupILIASDatabase();
239 }
catch (PDOException
$e) {
240 $connect = (
$e->getCode() == 1049);
244 if ($keep_connection && $connect) {
249 $this->client->setError(
'Database can\'t be reached. Please check the credentials and if database exists');
278 $target = array(
'usr_data',
'object_data',
'object_reference' );
292 return ($connectable && !$installed);
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
const TYPE_PDO_MYSQL_MYISAM
const TYPE_PDO_MYSQL_INNODB
static getWrapper($a_type)
static getInstanceForClient(\ilClient $client)
setIlDBInterface($ilDBInterface)
static getInstanceForNewClient($client_name, $dbname, $host='localhost', $username='root', $password='', $type=ilDBConstants::TYPE_PDO_MYSQL_INNODB)
__construct(\ilClient $client)
ilDbSetup constructor.
createDatabase($a_collation)
static getNewInstanceForClient(\ilClient $client)
isConnectable($keep_connection=false)
setSqlDumpFile($sql_dump_file)
execute($stmt, $data=array())
initFromIniFile($tmpClientIniFile=null)
createDatabase($a_name, $a_charset="utf8", $a_collation="")
prepareManip($a_query, $a_types=null)
manipulate($query)
Run a (write) Query on the database.
connect($return_false_on_error=false)