migrations/Version20220713204543.php line 1
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20220713204543 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$companySql = <<<SQL
CREATE TABLE company
(
id INT AUTO_INCREMENT NOT NULL,
`name` VARCHAR(255) NOT NULL,
api_key VARCHAR(255) NOT NULL,
created DATE NOT NULL,
valid_until DATE DEFAULT NULL,
PRIMARY KEY (id),
INDEX (api_key)
) DEFAULT CHARACTER SET utf8mb4
COLLATE `utf8mb4_unicode_ci`
ENGINE = InnoDB
SQL;
$this->addSql($companySql);
$templateSql = <<<SQL
CREATE TABLE template
(
id INT AUTO_INCREMENT NOT NULL,
product VARCHAR(100) NOT NULL,
company_id INT NOT NULL,
api_key VARCHAR(100) DEFAULT NULL,
`algorithm` VARCHAR(100) NOT NULL,
temperature DOUBLE PRECISION NOT NULL,
max_tokens INT NOT NULL,
top_p INT NOT NULL,
frequency_penalty INT NOT NULL,
presence_penalty INT NOT NULL,
segment_before LONGTEXT DEFAULT NULL,
segment_after LONGTEXT DEFAULT NULL,
tokens_used INT NOT NULL,
PRIMARY KEY (id),
INDEX (product),
FOREIGN KEY (company_id) REFERENCES company(id)
) DEFAULT CHARACTER SET utf8mb4
COLLATE `utf8mb4_unicode_ci`
ENGINE = InnoDB
SQL;
$this->addSql($templateSql);
$logSql = <<<SQL
CREATE TABLE log
(
id INT AUTO_INCREMENT NOT NULL,
api_key VARCHAR(255) NOT NULL,
request JSON NOT NULL,
response JSON NOT NULL,
PRIMARY KEY (id),
KEY (api_key)
) DEFAULT CHARACTER SET utf8mb4
COLLATE `utf8mb4_unicode_ci`
ENGINE = InnoDB
SQL;
$this->addSql($logSql);
}
public function down(Schema $schema): void
{
$this->addSql('DROP TABLE template');
$this->addSql('DROP TABLE company');
$this->addSql('DROP TABLE api_context');
$this->addSql('DROP TABLE log');
}
}