I've run out of ideas. May someone knows what is wrong here?
I cant add my three columns to post, thread, forum.
I have no error.
I have checked permissions of mysql user
Is there anything else I have to do to make setup running?
I cant add my three columns to post, thread, forum.
I have no error.
I have checked permissions of mysql user
Is there anything else I have to do to make setup running?
Code:
<?php
namespace Robert9\Werte;
use XF\AddOn\AbstractSetup;
use XF\AddOn\StepRunnerInstallTrait;
use XF\AddOn\StepRunnerUninstallTrait;
use XF\AddOn\StepRunnerUpgradeTrait;
use XF\Db\Schema\Alter;
class Setup extends AbstractSetup
{
use StepRunnerInstallTrait;
use StepRunnerUpgradeTrait;
use StepRunnerUninstallTrait;
public function installStep1()
{
$sm = $this->schemaManager();
foreach ($this->getTables() as $tableName => $callback)
{
$sm->createTable($tableName, $callback);
}
}
public function installStep2()
{
$sm = $this->schemaManager();
foreach ($this->getAlters() as $table => $schema)
{
if ($sm->tableExists($table))
{
$sm->alterTable($table, $schema);
}
}
}
public function uninstallStep1()
{
$sm = $this->schemaManager();
foreach (array_keys($this->getTables()) as $tableName)
{
$sm->dropTable($tableName);
}
}
public function uninstallStep2()
{
$sm = $this->schemaManager();
foreach ($this->getReverseAlters() as $table => $schema)
{
if ($sm->tableExists($table))
{
$sm->alterTable($table, $schema);
}
}
}
// ################################## DATA ###########################################
protected function getTables(): array
{
$tables = [];
return $tables;
}
/**
* @return array
*/
protected function getAlters()
{
$alters = [];
$alters['xf_post'] = function (Alter $table) {
$table->addColumn('werte', 'tinyblob')->nullable()->setDefault(null);
};
$alters['xf_thread'] = function (Alter $table) {
$table->addColumn('werte', 'tinyblob')->nullable()->setDefault(null);
};
$alters['xf_forum'] = function (Alter $table) {
$table->addColumn('werte', 'tinyint')->setDefault(0);
};
return $alters;
}
protected function getReverseAlters()
{
$alters = [];
$alters['xf_post'] = function (Alter $table) {
$table->dropColumns(['werte']);
};
$alters['xf_thread'] = function (Alter $table) {
$table->dropColumns(['werte']);
};
$alters['xf_forum'] = function (Alter $table) {
$table->dropColumns(['werte']);
};
return $alters;
}
}