zend-blog-3-backend
54 строки · 3.0 Кб
1<?php
2
3declare(strict_types=1);
4
5namespace Application\Migrations;
6
7use Doctrine\DBAL\Schema\Schema;
8use Doctrine\Migrations\AbstractMigration;
9
10/**
11* Auto-generated Migration: Please modify to your needs!
12*/
13final class Version20230521160100 extends AbstractMigration
14{
15public function up(Schema $schema): void
16{
17// this up() migration is auto-generated, please modify it to your needs
18$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
19
20$this->addSql('CREATE TABLE pygments_code (id INT AUTO_INCREMENT NOT NULL, language_id INT DEFAULT NULL, source_code TEXT NOT NULL, source_html TEXT DEFAULT NULL, source_html_preview TEXT DEFAULT NULL, time_created DATETIME(3) DEFAULT NOW(3) NOT NULL COMMENT \'(DC2Type:milliseconds_dt)\', last_update DATETIME(3) DEFAULT NOW(3) NOT NULL COMMENT \'(DC2Type:milliseconds_dt)\', INDEX IDX_FB83C7B382F1BAF4 (language_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
21$this->addSql('CREATE TABLE pygments_language (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(32) NOT NULL, lexer VARCHAR(16) DEFAULT NULL, time_created DATETIME(3) DEFAULT NOW(3) NOT NULL COMMENT \'(DC2Type:milliseconds_dt)\', last_update DATETIME(3) DEFAULT NOW(3) NOT NULL COMMENT \'(DC2Type:milliseconds_dt)\', UNIQUE INDEX UNIQ_D076DE485E237E06 (name), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
22$this->addSql('ALTER TABLE pygments_code ADD CONSTRAINT FK_FB83C7B382F1BAF4 FOREIGN KEY (language_id) REFERENCES pygments_language (id) ON DELETE SET NULL');
23
24$this->addSql("INSERT INTO `pygments_language` (`name`, `lexer`) VALUES
25('PHP', 'php'),
26('JavaScript', 'javascript'),
27('SQL', 'sql'),
28('MySQL', 'mysql'),
29('PostgreSQL', 'postgresql'),
30('Java', 'java'),
31('Python', 'python'),
32('Golang', 'go'),
33('HTML', 'html'),
34('XML', 'xml'),
35('Shell', 'sh'),
36('Plain Text', 'text'),
37('C', 'c'),
38('Common Lisp', 'cl'),
39('Clojure', 'clojure'),
40('Lua', 'lua'),
41('CoffeeScript', 'coffee-script'),
42('Elixir', 'elixir');");
43}
44
45public function down(Schema $schema): void
46{
47// this down() migration is auto-generated, please modify it to your needs
48$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
49
50$this->addSql('ALTER TABLE pygments_code DROP FOREIGN KEY FK_FB83C7B382F1BAF4');
51$this->addSql('DROP TABLE pygments_code');
52$this->addSql('DROP TABLE pygments_language');
53}
54}
55