Fix migration errors

pull/2487/head
jmontoyaa 9 years ago
parent d656759168
commit 12f7921a62
  1. 1
      app/Migrations/Schema/V111/Version111.php
  2. 2
      app/Migrations/Schema/V111/Version20160304151300.php
  3. 2
      app/Migrations/Schema/V111/Version20160706182000.php
  4. 2
      app/Migrations/Schema/V111/Version20160930144400.php
  5. 55
      main/install/install.lib.php

@ -314,7 +314,6 @@ class Version111 extends AbstractMigrationChamilo
$this->addSql('DELETE FROM settings_options WHERE variable = "visio_use_rtmpt"');
$this->addSql('DELETE FROM course_module WHERE name = "conference"');
$this->addSql('ALTER TABLE c_student_publication_assignment CHANGE add_to_calendar add_to_calendar INT NOT NULL;');
$this->addSql('ALTER TABLE extra_field ADD visible_to_others TINYINT(1) DEFAULT 0, CHANGE visible visible_to_self TINYINT(1) DEFAULT 0');
}
/**

@ -26,6 +26,6 @@ class Version20160304151300 extends AbstractMigrationChamilo
*/
public function down(Schema $schema)
{
}
}

@ -24,7 +24,7 @@ class Version20160706182000 extends AbstractMigrationChamilo
{
$this->addSql(
'CREATE TABLE course_rel_user_catalogue (id int NOT NULL AUTO_INCREMENT, user_id int DEFAULT NULL, c_id int DEFAULT NULL, visible int NOT NULL, PRIMARY KEY (id), KEY (user_id), KEY (c_id), CONSTRAINT FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE, CONSTRAINT FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci'
);
);
}
/**

@ -28,6 +28,8 @@ class Version20160930144400 extends AbstractMigrationChamilo
h.hotspot_answer_id = qa.id
)
');
$this->addSql('ALTER TABLE extra_field ADD visible_to_others TINYINT(1) DEFAULT 0, CHANGE visible visible_to_self TINYINT(1) DEFAULT 0');
}
/**

@ -2550,20 +2550,21 @@ function fixIds(EntityManager $em)
error_log("Loading field: ".$field['field_variable']);
}
$originalId = $field['id'];
$extraField = new ExtraField();
$extraField
->setExtraFieldType($type)
->setVariable($field['field_variable'])
->setFieldType($field['field_type'])
->setDisplayText($field['field_display_text'])
->setDefaultValue($field['field_default_value'])
->setFieldOrder($field['field_order'])
->setVisibleToSelf($field['field_visible'])
->setChangeable($field['field_changeable'])
->setFilter($field['field_filter']);
$em->persist($extraField);
$em->flush();
$params = [
'extra_field_type' => $type,
'variable' => $field['field_variable'],
'field_type' => $field['field_type'],
'display_text' => $field['field_display_text'],
'default_value' => $field['field_default_value'],
'field_order' => $field['field_order'],
'visible' => $field['field_visible'],
'changeable' => $field['field_changeable'],
'filter' => $field['field_filter']
];
$connection->insert('extra_field', $params);
$newExtraFieldId = $connection->lastInsertId();
$values = array();
$handlerId = null;
@ -2603,14 +2604,13 @@ function fixIds(EntityManager $em)
$options = $result->fetchAll();
foreach ($options as $option) {
$extraFieldOption = new ExtraFieldOptions();
$extraFieldOption
->setDisplayText($option['option_display_text'])
->setField($extraField)
->setOptionOrder($option['option_order'])
->setValue($option['option_value']);
$em->persist($extraFieldOption);
$em->flush();
$params = [
'display_text' => $option['option_display_text'],
'field_id' => $newExtraFieldId,
'option_order' => $option['option_order'],
'option_value' => $option['option_value']
];
$connection->insert('extra_field_options', $params);
}
$sql = "SELECT * FROM $valueTable WHERE field_id = $originalId ";
@ -2628,19 +2628,10 @@ function fixIds(EntityManager $em)
$k = 0;
foreach ($values as $value) {
if (isset($value[$handlerId])) {
/*
$extraFieldValue = new ExtraFieldValues();
$extraFieldValue
->setValue($value['field_value'])
->setField($extraField)
->setItemId($value[$handlerId]);
$em->persist($extraFieldValue);
$em->flush();
*/
// Insert without the use of the entity as it reduces
// speed to 2 records per second (much too slow)
$params = [
'field_id' => $extraField->getId(),
'field_id' => $newExtraFieldId,
'value' => $value['field_value'],
'item_id' => $value[$handlerId]
];

Loading…
Cancel
Save