Fix migration script to remove old date fields and after creating new ones

1.10.x
Yannick Warnier 10 years ago
parent 77d02635b4
commit 35ae772017
  1. 18
      src/Chamilo/CoreBundle/Migrations/Schema/V110/Version20150528103216.php

@ -34,6 +34,11 @@ class Version20150528103216 extends AbstractMigrationChamilo
$this->addSql('UPDATE session SET display_start_date = access_start_date');
$this->addSql('UPDATE session SET display_end_date = access_end_date');
$this->addSql('ALTER TABLE session DROP date_start');
$this->addSql('ALTER TABLE session DROP date_end');
$this->addSql('ALTER TABLE session DROP nb_days_access_before_beginning');
$this->addSql('ALTER TABLE session DROP nb_days_access_after_end');
}
/**
@ -41,6 +46,19 @@ class Version20150528103216 extends AbstractMigrationChamilo
*/
public function down(Schema $schema)
{
$this->addSql('ALTER TABLE session CREATE date_start date NOT NULL');
$this->addSql('ALTER TABLE session CREATE date_end date NOT NULL');
$this->addSql('ALTER TABLE session CREATE nb_days_access_before_beginning TINYINT');
$this->addSql('ALTER TABLE session CREATE nb_days_access_after_end TINYINT');
$this->addSql('UPDATE session SET date_start = access_start_date');
$this->addSql('UPDATE session SET date_end = access_end_date');
$this->addSql('UPDATE session SET nb_days_access_before_beginning = DATEDIFF(access_start_date, coach_access_start_date) WHERE access_start_date != coach_access_start_date AND coach_access_start_date IS NOT NULL');
$this->addSql('UPDATE session SET nb_days_access_after_end = DATEDIFF(coach_access_end_date, coach_access_end_date) WHERE access_end_date != coach_access_end_date AND coach_access_end_date IS NOT NULL');
$this->addSql('UPDATE session SET nb_days_access_before_beginning = 0 WHERE access_start_date = coach_access_start_date OR coach_access_start_date IS NULL');
$this->addSql('UPDATE session SET nb_days_access_after_end = 0 WHERE access_end_date = coach_access_end_date OR coach_access_end_date IS NULL');
$this->addSql('ALTER TABLE session DROP access_start_date');
$this->addSql('ALTER TABLE session DROP access_end_date');
$this->addSql('ALTER TABLE session DROP coach_access_start_date');

Loading…
Cancel
Save