<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20221101065407 extends AbstractMigration
{
public function getDescription(): string
{
return 'Создание таблицы глобальных настроек';
}
public function up(Schema $schema): void
{
$settings = [
['name' => 'TimeAmountForSalary', 'value' => '0', 'description' => 'Количество часов отработанного времени, относящегося к окладу'],
['name' => 'TimeEntry.MaxDateEditingPeriod', 'value' => '2', 'description' => 'Максимальная глубина в днях от текущей даты, на которую можно редактировать ТЕ'],
];
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE SEQUENCE setting_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
$this->addSql('CREATE TABLE setting (id INT NOT NULL, hub_user_id UUID DEFAULT NULL, name VARCHAR(50) NOT NULL, value VARCHAR(255) DEFAULT NULL, description VARCHAR(255) DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT \'now()\' NOT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_9F74B8985561CCEE ON setting (hub_user_id)');
$this->addSql('CREATE INDEX idx_setting_name ON setting (name)');
$this->addSql('COMMENT ON COLUMN setting.hub_user_id IS \'(DC2Type:uuid)\'');
$this->addSql('COMMENT ON COLUMN setting.name IS \'Name of Properties\'');
$this->addSql('COMMENT ON COLUMN setting.value IS \'Value of Properties\'');
$this->addSql('COMMENT ON COLUMN setting.description IS \'Description of Properties\'');
$this->addSql('COMMENT ON COLUMN setting.created_at IS \'Дата создания\'');
$this->addSql('COMMENT ON COLUMN setting.updated_at IS \'Дата обновления\'');
foreach ($settings as $setting) {
$this->addSql('INSERT INTO setting ("id", "name","value","description") VALUES ((select nextval(\'setting_id_seq\')), :name, :value ,:description) ON CONFLICT DO NOTHING', $setting);
}
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP SEQUENCE setting_id_seq CASCADE');
$this->addSql('DROP TABLE setting');
}
}