|
|
|
@ -317,13 +317,12 @@ if (defined('SYSTEM_INSTALLATION')) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($list as $row_course) { |
|
|
|
|
// Now use the $c_q_list |
|
|
|
|
|
|
|
|
|
if (!$singleDbForm) { // otherwise just use the main one |
|
|
|
|
iDatabase::select_db($row_course['db_name']); |
|
|
|
|
} |
|
|
|
|
Log::notice('Course db ' . $row_course['db_name']); |
|
|
|
|
|
|
|
|
|
// Now use the $c_q_list |
|
|
|
|
foreach ($c_q_list as $query) { |
|
|
|
|
if ($singleDbForm) { |
|
|
|
|
$query = preg_replace('/^(UPDATE|ALTER TABLE|CREATE TABLE|DROP TABLE|INSERT INTO|DELETE FROM)\s+(\w*)(.*)$/', "$1 $prefix{$row_course['db_name']}_$2$3", $query); |
|
|
|
@ -340,6 +339,7 @@ if (defined('SYSTEM_INSTALLATION')) { |
|
|
|
|
|
|
|
|
|
$work_table = $row_course['db_name'].".student_publication"; |
|
|
|
|
$item_table = $row_course['db_name'].".item_property"; |
|
|
|
|
|
|
|
|
|
if ($singleDbForm) { |
|
|
|
|
$work_table = "$prefix{$row_course['db_name']}_student_publication"; |
|
|
|
|
$item_table = $row_course['db_name'].".item_property"; |
|
|
|
@ -351,7 +351,9 @@ if (defined('SYSTEM_INSTALLATION')) { |
|
|
|
|
} else { |
|
|
|
|
iDatabase::select_db($dbNameForm); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Start work fix */ |
|
|
|
|
|
|
|
|
|
/* Fixes the work subfolder and work with no parent issues */ |
|
|
|
|
|
|
|
|
@ -452,11 +454,8 @@ if (defined('SYSTEM_INSTALLATION')) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* End of work fix */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* End of work fix */ |
|
|
|
|
|
|
|
|
|
//Course tables to be migrated |
|
|
|
|
$table_list = array( |
|
|
|
|
'announcement', |
|
|
|
@ -553,55 +552,68 @@ if (defined('SYSTEM_INSTALLATION')) { |
|
|
|
|
|
|
|
|
|
$count = $old_count = 0; |
|
|
|
|
foreach ($table_list as $table) { |
|
|
|
|
$just_table_name = $table; |
|
|
|
|
$old_table = $row_course['db_name'].".".$table; |
|
|
|
|
if ($singleDbForm) { |
|
|
|
|
$old_table = "$prefix{$row_course['db_name']}_".$table; |
|
|
|
|
$just_table_name = "$prefix{$row_course['db_name']}_".$table; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$course_id = $row_course['id']; |
|
|
|
|
|
|
|
|
|
$new_table = DB_COURSE_PREFIX.$table; |
|
|
|
|
|
|
|
|
|
if (!$singleDbForm) { |
|
|
|
|
|
|
|
|
|
if (!$singleDbForm) { |
|
|
|
|
// otherwise just use the main one |
|
|
|
|
iDatabase::select_db($row_course['db_name']); |
|
|
|
|
} else { |
|
|
|
|
iDatabase::select_db($dbNameForm); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Count of rows |
|
|
|
|
$sql = "SELECT count(*) FROM $old_table"; |
|
|
|
|
$result = iDatabase::query($sql); |
|
|
|
|
|
|
|
|
|
$old_count = 0; |
|
|
|
|
if ($result) { |
|
|
|
|
$row = iDatabase::fetch_row($result); |
|
|
|
|
$old_count = $row[0]; |
|
|
|
|
} else { |
|
|
|
|
Log::error("Seems that the table $old_table doesn't exists "); |
|
|
|
|
} |
|
|
|
|
Log::notice("# rows in $old_table: $old_count"); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT * FROM $old_table"; |
|
|
|
|
$result = iDatabase::query($sql); |
|
|
|
|
|
|
|
|
|
$count = 0; |
|
|
|
|
while($row = iDatabase::fetch_array($result, 'ASSOC')) { |
|
|
|
|
$row['c_id'] = $course_id; |
|
|
|
|
iDatabase::select_db($dbNameForm); |
|
|
|
|
$id = iDatabase::insert($new_table, $row); |
|
|
|
|
if (is_numeric($id)) { |
|
|
|
|
$count++; |
|
|
|
|
} else { |
|
|
|
|
$errors[$old_table][] = $row; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Log::notice("# rows inserted in $new_table: $count"); |
|
|
|
|
|
|
|
|
|
if ($old_count != $count) { |
|
|
|
|
Log::error("ERROR count of new and old table doesn't match: $old_count - $new_table"); |
|
|
|
|
Log::error("Check the results: "); |
|
|
|
|
Log::error(print_r($errors, 1)); |
|
|
|
|
error_log(print_r($errors, 1)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//Count of rows |
|
|
|
|
$sql = "SHOW TABLES LIKE '$just_table_name'"; |
|
|
|
|
$result = iDatabase::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result)) { |
|
|
|
|
|
|
|
|
|
$sql = "SELECT count(*) FROM $old_table"; |
|
|
|
|
$result = iDatabase::query($sql); |
|
|
|
|
|
|
|
|
|
$old_count = 0; |
|
|
|
|
if ($result) { |
|
|
|
|
$row = iDatabase::fetch_row($result); |
|
|
|
|
$old_count = $row[0]; |
|
|
|
|
} else { |
|
|
|
|
Log::error("Count(*) in table $old_table failed"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Log::notice("# rows in $old_table: $old_count"); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT * FROM $old_table"; |
|
|
|
|
$result = iDatabase::query($sql); |
|
|
|
|
|
|
|
|
|
$count = 0; |
|
|
|
|
while($row = iDatabase::fetch_array($result, 'ASSOC')) { |
|
|
|
|
$row['c_id'] = $course_id; |
|
|
|
|
iDatabase::select_db($dbNameForm); |
|
|
|
|
$id = iDatabase::insert($new_table, $row); |
|
|
|
|
if (is_numeric($id)) { |
|
|
|
|
$count++; |
|
|
|
|
} else { |
|
|
|
|
$errors[$old_table][] = $row; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Log::notice("#rows inserted in $new_table: $count"); |
|
|
|
|
|
|
|
|
|
if ($old_count != $count) { |
|
|
|
|
Log::error("ERROR count of new and old table doesn't match: $old_count - $new_table"); |
|
|
|
|
Log::error("Check the results: "); |
|
|
|
|
Log::error(print_r($errors, 1)); |
|
|
|
|
error_log(print_r($errors, 1)); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
Log::error("Seems that the table $old_table doesn't exists "); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Log::notice('<<<------- end -------->>'); |
|
|
|
|
} |
|
|
|
|