migrations/Version20251118103000.php line 1

  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20251118103000 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Create visio_settings table to store service-level visio configuration';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql(<<<'SQL'
  15.             CREATE TABLE visio_settings (
  16.                 id INT AUTO_INCREMENT NOT NULL,
  17.                 service_id INT NOT NULL,
  18.                 min_client_credit INT NOT NULL DEFAULT 0,
  19.                 min_client_time_minutes INT NOT NULL DEFAULT 0,
  20.                 credit_warning_threshold INT NOT NULL DEFAULT 0,
  21.                 time_warning_threshold_minutes INT NOT NULL DEFAULT 0,
  22.                 advisor_inactivity_seconds INT NOT NULL DEFAULT 300,
  23.                 client_inactivity_seconds INT NOT NULL DEFAULT 300,
  24.                 created_at DATETIME NOT NULL,
  25.                 updated_at DATETIME NOT NULL,
  26.                 UNIQUE INDEX uniq_visio_settings_service (service_id),
  27.                 INDEX idx_visio_settings_service (service_id),
  28.                 PRIMARY KEY(id)
  29.             ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB
  30.         SQL);
  31.     }
  32.     public function down(Schema $schema): void
  33.     {
  34.         $this->addSql('DROP TABLE visio_settings');
  35.     }
  36. }