Hallo zusammen, sehr kurze Frage, da ich anscheinend keine Dokumentation dazu finden kann. Wie kann ich mit „Query Builder“ eine neue Spalte zu einer Tabelle hinzufügen? Da DatabaseProvider veraltet ist, dachte ich, es wäre eine bessere Option, QueryBuilder zu verwenden. Ich danke Ihnen für Ihre Hilfe!
Hallo Bigillu,
es gibt die Möglichkeit per QueryBuilder auch eigene Querys auszuführen:
$container = ContainerFactory::getInstance()->getContainer();
$queryBuilderFactory = $container->get(QueryBuilderFactoryInterface::class);
$queryBuilder = $queryBuilderFactory->create();
try {
$queryBuilder->getConnection()->executeQuery("ALTER table ADD column");
} catch (DBALException $exception) {
Registry::getLogger()->error($exception->getMessage());
}
Für Änderungen am Schema einer Tabelle würde ich aber eher ein Migrations Skipt empfehlen.
https://docs.oxid-esales.com/developer/en/6.2/development/tell_me_about/migrations.html#