<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Migration to create searchtemp table for entity search results
*/
final class Version20251009120000 extends AbstractMigration
{
public function getDescription(): string
{
return 'Create searchtemp table for storing entity search results';
}
public function up(Schema $schema): void
{
$this->addSql("
CREATE TABLE IF NOT EXISTS searchtemp (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
session_id VARCHAR(255) NOT NULL,
search_term VARCHAR(255) NOT NULL,
entity_id INT(11) DEFAULT NULL,
article_nr VARCHAR(64) NOT NULL,
manufacturer VARCHAR(64) DEFAULT NULL,
description TEXT DEFAULT NULL,
price DECIMAL(10,2) DEFAULT NULL,
availability VARCHAR(255) DEFAULT NULL,
delivery VARCHAR(255) DEFAULT NULL,
source VARCHAR(50) NOT NULL COMMENT 'entity, alternative, or produkte',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_session (session_id),
KEY idx_search_term (search_term),
KEY idx_entity_id (entity_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
");
}
public function down(Schema $schema): void
{
$this->addSql('DROP TABLE IF EXISTS searchtemp');
}
}