19 declare(strict_types=1);
33 $this->database = $database;
39 'tos_documents' =>
'ldoc_documents',
40 'tos_criterion_to_doc' =>
'ldoc_criteria',
41 'tos_acceptance_track' =>
'ldoc_acceptance_track',
42 'tos_versions' =>
'ldoc_versions',
59 foreach ([
'ldoc_documents',
'ldoc_versions'] as $table) {
83 $select_provider =
'(SELECT d.provider FROM ldoc_documents AS d WHERE v.doc_id = d.id)';
84 $this->database->manipulate(
"UPDATE ldoc_versions AS v SET provider = $select_provider WHERE provider = '' AND EXISTS $select_provider");
90 private function ensureColumn(
string $table,
string $name, array $attributes): void
92 if (!$this->database->tableColumnExists($table, $name)) {
93 $this->database->addTableColumn($table, $name, $attributes);
102 foreach ($tables as $old => $new) {
103 if (!$this->database->tableExists($new)) {
104 $this->database->renameTable($old, $new);
ensureColumn(string $table, string $name, array $attributes)
prepare(ilDBInterface $database)
renameTables(array $tables)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...