Switch to MEDIUMTEXT for card and calendar data (#127)

This commit is contained in:
Cyril Chapellier 2023-12-29 21:52:54 +01:00 committed by GitHub
parent 4cdf1f91e7
commit ecaad935ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 3 deletions

View File

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Scale up to MEDIUMTEXT for calendar and card data https://github.com/tchapi/davis/pull/111#issuecomment-1872295498
*/
final class Version20231229203515 extends AbstractMigration
{
public function getDescription(): string
{
return 'Scale up to MEDIUMTEXT for calendar and card data';
}
public function up(Schema $schema): void
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration is specific to \'mysql\'. Skipping it is fine.');
$this->addSql('ALTER TABLE calendarobjects CHANGE calendardata calendardata MEDIUMTEXT DEFAULT NULL');
$this->addSql('ALTER TABLE cards CHANGE carddata carddata MEDIUMTEXT DEFAULT NULL');
$this->addSql('ALTER TABLE schedulingobjects CHANGE calendardata calendardata MEDIUMTEXT DEFAULT NULL');
}
public function down(Schema $schema): void
{
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration is specific to \'mysql\'. Skipping it is fine.');
$this->addSql('ALTER TABLE schedulingobjects CHANGE calendardata calendardata TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE calendarobjects CHANGE calendardata calendardata TEXT DEFAULT NULL');
$this->addSql('ALTER TABLE cards CHANGE carddata carddata TEXT DEFAULT NULL');
}
}

View File

@ -21,7 +21,8 @@ class CalendarObject
private $id;
/**
* @ORM\Column(name="calendardata", type="text", nullable=true, length=65535)
* @ORM\Column(name="calendardata", type="text", nullable=true, length=16777215)
* The length corresponds to MEDIUMTEXT in MySQL
*/
private $calendarData;

View File

@ -28,7 +28,8 @@ class Card
private $addressBook;
/**
* @ORM\Column(name="carddata", type="text", nullable=true, length=65535)
* @ORM\Column(name="carddata", type="text", nullable=true, length=16777215)
* The length corresponds to MEDIUMTEXT in MySQL
*/
private $cardData;

View File

@ -27,7 +27,8 @@ class SchedulingObject
private $principalUri;
/**
* @ORM\Column(name="calendardata", type="text", nullable=true, length=65535)
* @ORM\Column(name="calendardata", type="text", nullable=true, length=16777215)
* The length corresponds to MEDIUMTEXT in MySQL
*/
private $calendarData;