* @link https://www.oxidmodule.com */ declare(strict_types=1); namespace D3\ManufacturerInformation\Migrations; use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Types\TextType; use Doctrine\Migrations\AbstractMigration; /** * Auto-generated Migration: Please modify to your needs! */ final class Version20241028172608 extends AbstractMigration { public function getDescription(): string { return 'Adds multilang tables for the D3 manufacturer longdesc'; } public function up(Schema $schema): void { $this->connection->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); $this->d3AddLongdescMultilangColumnsToOxmanufacturers($schema); } public function down(Schema $schema): void { } /** * @param Schema $schema * @return void * @throws \Doctrine\DBAL\Schema\SchemaException */ public function d3AddLongdescMultilangColumnsToOxmanufacturers(Schema $schema) { $table = !$schema->hasTable('oxmanufacturers') ? $schema->createTable('oxmanufacturers') : $schema->getTable('oxmanufacturers'); // lang 1 if (!$table->hasColumn('D3DESCRIPTION_1')) { $table->addColumn('D3DESCRIPTION_1', (new TextType())->getName()) ->setLength($this->connection->getDatabasePlatform()::LENGTH_LIMIT_TEXT) ->setNotnull(true); } // lang 2 if (!$table->hasColumn('D3DESCRIPTION_2')) { $table->addColumn('D3DESCRIPTION_2', (new TextType())->getName()) ->setLength($this->connection->getDatabasePlatform()::LENGTH_LIMIT_TEXT) ->setNotnull(true); } // lang 3 if (!$table->hasColumn('D3DESCRIPTION_3')) { $table->addColumn('D3DESCRIPTION_3', (new TextType())->getName()) ->setLength($this->connection->getDatabasePlatform()::LENGTH_LIMIT_TEXT) ->setNotnull(true); } } }