86 lines
2.4 KiB
PHP
86 lines
2.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace D3\CategoryLongtext\Migrations;
|
|
|
|
use Doctrine\DBAL\DBALException;
|
|
use Doctrine\Migrations\AbstractMigration;
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
use Doctrine\DBAL\Schema\SchemaException;
|
|
use Doctrine\DBAL\Types\TextType;
|
|
use OxidEsales\Eshop\Core\DatabaseProvider;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
|
|
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
|
|
|
|
/**
|
|
* Auto-generated Migration: Please modify to your needs!
|
|
*/
|
|
final class Version20230403083243 extends AbstractMigration
|
|
{
|
|
public function getDescription() : string
|
|
{
|
|
return 'Check and set of potential missing columns';
|
|
}
|
|
|
|
/**
|
|
* @throws SchemaException
|
|
* @throws DBALException
|
|
* @throws DatabaseErrorException
|
|
* @throws DatabaseConnectionException
|
|
*/
|
|
public function up(Schema $schema) : void
|
|
{
|
|
$this->connection->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
|
|
|
|
$table = $schema->getTable('oxcategories');
|
|
|
|
$table->hasColumn('D3LONGDESC2') ?:
|
|
$table->addColumn('D3LONGDESC2', (new TextType())->getName())
|
|
->setNotnull(true);
|
|
|
|
$table->hasColumn('D3LONGDESC2_1') ?:
|
|
$table->addColumn('D3LONGDESC2_1', (new TextType())->getName())
|
|
->setNotnull(true);
|
|
|
|
$table->hasColumn('D3LONGDESC2_2') ?:
|
|
$table->addColumn('D3LONGDESC2_2', (new TextType())->getName())
|
|
->setNotnull(true);
|
|
|
|
$table->hasColumn('D3LONGDESC2_3') ?:
|
|
$table->addColumn('D3LONGDESC2_3', (new TextType())->getName())
|
|
->setNotnull(true);
|
|
|
|
$this->postProcesses();
|
|
}
|
|
|
|
/**
|
|
* @throws DatabaseErrorException
|
|
* @throws DatabaseConnectionException
|
|
*/
|
|
public function postProcesses(){
|
|
$sAltering = 'ALTER TABLE oxcategories MODIFY
|
|
? text
|
|
CHARACTER SET latin1
|
|
COLLATE latin1_swedish_ci;';
|
|
|
|
|
|
$aAlterColumns = [
|
|
'D3LONGDESC2',
|
|
'D3LONGDESC2_1',
|
|
'D3LONGDESC2_2',
|
|
'D3LONGDESC2_3'
|
|
];
|
|
|
|
foreach ($aAlterColumns as $column){
|
|
DatabaseProvider::getDb()->execute($sAltering, $column);
|
|
}
|
|
}
|
|
|
|
public function down(Schema $schema) : void
|
|
{
|
|
// this down() migration is auto-generated, please modify it to your needs
|
|
|
|
}
|
|
}
|