<?php /** @noinspection ALL */
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 Version20230320094355 extends AbstractMigration
{
public function getDescription(): string
{
return 'Добавление таблицы ссылок/меню';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('CREATE TABLE links (id SERIAL NOT NULL, edited_by_id INT DEFAULT NULL, created_by_id INT NOT NULL, removed_by_id INT DEFAULT NULL, type VARCHAR(255) NOT NULL, sort INT DEFAULT NULL, name VARCHAR(255) NOT NULL, url VARCHAR(500) NOT NULL, edited_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, removed_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
$this->addSql('CREATE INDEX IDX_D182A118DD7B2EBC ON links (edited_by_id)');
$this->addSql('CREATE INDEX IDX_D182A118B03A8386 ON links (created_by_id)');
$this->addSql('CREATE INDEX IDX_D182A1182BD701DA ON links (removed_by_id)');
$this->addSql('COMMENT ON TABLE links IS \'Ссылки, меню\'');
$this->addSql('COMMENT ON COLUMN links.type IS \'Тип принадлежности (main-actual - Актуальные на главной)\'');
$this->addSql('COMMENT ON COLUMN links.sort IS \'Сортировка\'');
$this->addSql('COMMENT ON COLUMN links.name IS \'Название\'');
$this->addSql('COMMENT ON COLUMN links.edited_at IS \'Дата изменения\'');
$this->addSql('COMMENT ON COLUMN links.removed_at IS \'Когда удалено\'');
$this->addSql('ALTER TABLE links ADD CONSTRAINT FK_D182A118DD7B2EBC FOREIGN KEY (edited_by_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE links ADD CONSTRAINT FK_D182A118B03A8386 FOREIGN KEY (created_by_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE links ADD CONSTRAINT FK_D182A1182BD701DA FOREIGN KEY (removed_by_id) REFERENCES "user" (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
$sqlPattern = 'INSERT INTO links (created_by_id, type, sort, name, url) VALUES (1, \'main-actual\', %d, \'%s\', \'%s\')';
$this->addSql(sprintf($sqlPattern, 1, 'ГТО в Татарстане', '/gto'));
$this->addSql(sprintf($sqlPattern, 2, 'Адаптивный спорт', '/adaptive-sport'));
$this->addSql(sprintf($sqlPattern, 3, 'Подобрать вид спорта', 'https://sporttalent.blumenkraft.me/talentid/'));
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE links DROP CONSTRAINT FK_D182A118DD7B2EBC');
$this->addSql('ALTER TABLE links DROP CONSTRAINT FK_D182A118B03A8386');
$this->addSql('ALTER TABLE links DROP CONSTRAINT FK_D182A1182BD701DA');
$this->addSql('DROP TABLE links');
}
}