diff --git a/tests/migrate/migration.class.php b/tests/migrate/migration.class.php index 9afaf3f7cf..96d4f167c8 100644 --- a/tests/migrate/migration.class.php +++ b/tests/migrate/migration.class.php @@ -156,7 +156,7 @@ class Migration { // Process the migration of fields from the given table $sql_select_fields = self::prepare_field_match($table); - $this->select_all($table['orig_table'], $sql_select_fields); + $this->select_all($table['orig_table'], $sql_select_fields, $table); if (count($table['fields_match']) == 0) { error_log('No fields found'); @@ -184,7 +184,7 @@ class Migration { //Stop here if ($table['orig_table'] == 'Matricula') { - error_log(print_r($this->data_list['sessions'], 1)); + //error_log(print_r($this->data_list['sessions'], 1)); exit; } } diff --git a/tests/migrate/migration.custom.class.php b/tests/migrate/migration.custom.class.php index cca2d4fe0d..bb1629176c 100644 --- a/tests/migrate/migration.custom.class.php +++ b/tests/migrate/migration.custom.class.php @@ -65,26 +65,24 @@ class MigrationCustom { /** * Log data from the original users table */ - public function log_original_session_unique_id($data, &$omigrate) { - $omigrate['sessions'][$data] = 0; + public function log_original_session_unique_id($data, &$omigrate, $row_data) { + $omigrate['sessions'][$row_data['uidIdCabProgramaAcademico']] = $row_data; return $data; } public function get_real_course_code($data, &$omigrate, $row_data) { - /*error_log('get_real_course_code'); - error_log(print_r($data,1)); - error_log(print_r($omigrate['courses'][$data], 1));*/ if (!isset($omigrate['courses'][$data])) { error_log("Course not found in data_list array"); error_log(print_r($data, 1)); - exit; + //exit; } return $omigrate['courses'][$data]['code']; } - function get_session_id($data, &$omigrate, $row_data) { - error_log(print_r($data, 1)); + function get_session_id_by_programa_id($data, &$omigrate, $row_data) { + /*error_log(print_r($data, 1)); error_log(print_r($row_data, 1)); + error_log($omigrate['sessions'][$data]);*/ if (!isset($omigrate['sessions'][$data])) { error_log(print_r($omigrate['sessions'], 1)); error_log("sessions not found in data_list array "); @@ -93,6 +91,24 @@ class MigrationCustom { return $omigrate['sessions'][$data]; } + public function get_user_id($data, &$omigrate, $row_data) { + //error_log('get_real_teacher_id'); + //error_log(print_r($data, 1)); + //error_log(print_r($omigrate['users_empleado'], 1)); + //error_log('get_real_teacher_id'); + //error_log($data); + if (empty($omigrate['users_alumno'][$data])) { + //error_log('not set'); + return 1; + } else { + $persona_id = $omigrate['users_alumno'][$data]['uidIdPersona']; + if (!empty($persona_id)) { + return $omigrate['users_persona'][$persona_id]['user_id']; + } + } + return $omigrate['users_alumno'][$data]['user_id']; + } + public function get_real_teacher_id($data, &$omigrate, $row_data) { //error_log('get_real_teacher_id'); //error_log(print_r($data, 1)); @@ -174,14 +190,15 @@ class MigrationCustom { return $user_info; } - public function add_user_to_session($data, &$data_list) { + public function add_user_to_session($data, &$data_list, $row_data) { + error_log('add_user_to_session'); error_log(print_r($data, 1)); + error_log(print_r($row_data, 1)); + exit; //error_log(print_r($data_list['user'], 1)); //$user_id = UserManager::add($data); //SessionManager::suscribe_users_to_session($data['session_id'], array($data['user_id'])); return $user_id; } - - } \ No newline at end of file diff --git a/tests/migrate/migration.mssql.class.php b/tests/migrate/migration.mssql.class.php index dfa145f806..395f4cb38a 100644 --- a/tests/migrate/migration.mssql.class.php +++ b/tests/migrate/migration.mssql.class.php @@ -22,7 +22,7 @@ class MigrationMSSQL extends Migration { return true; } - public function select_all($table, $fields) { + public function select_all($table, $fields, $options = array()) { $fields_sql = ''; foreach ($fields as $field) { $fields_sql .= $field . ', '; @@ -32,16 +32,25 @@ class MigrationMSSQL extends Migration { } //In order to process X item of each table add TOP X - $top = " TOP 5000 "; + $top = " TOP 1000 "; if (in_array($table, array('Persona', 'Alumno', 'Empleado'))) { - $top = " TOP 10 "; + $top = " TOP 100 "; } if ($table == 'ProgramaAcademico') { - $top = " "; + $top = " TOP 1000 "; + } + + $extra = null; + if (isset($options) && !empty($options['inner_join'])) { + $extra = ' INNER JOIN '.$options['inner_join'].' ON '.$options['on']; + } + $sql = "SELECT $top $fields_sql FROM $table $extra "; + if (!empty($extra)) { + error_log(print_r($options,1)); + error_log($sql); } - $sql = "SELECT $top $fields_sql FROM $table"; //remove - error_log($sql); + $this->rows_iterator = mssql_query($sql, $this->c); if ($this->rows_iterator === false) {