zend-blog-3-backend

Форк
0
/
Version20141025170346.php 
78 строк · 9.1 Кб
1
<?php
2

3
namespace Application\Migrations;
4

5
use Doctrine\DBAL\Schema\Schema;
6
use Doctrine\Migrations\AbstractMigration;
7

8
/**
9
 * Auto-generated Migration: Please modify to your needs!
10
 */
11
class Version20141025170346 extends AbstractMigration
12
{
13
    public function up(Schema $schema): void
14
    {
15
        // this up() migration is auto-generated, please modify it to your needs
16
        $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.');
17

18
        $this->addSql('CREATE TABLE avatar (id INT AUTO_INCREMENT NOT NULL, hash VARCHAR(32) NOT NULL, `default` SMALLINT NOT NULL, src VARCHAR(48) NOT NULL, last_modified DATETIME NOT NULL, UNIQUE INDEX UNIQ_1677722FD1B862B8 (hash), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
19
        $this->addSql('CREATE TABLE category (id INT AUTO_INCREMENT NOT NULL, parent_id INT DEFAULT NULL, name VARCHAR(100) NOT NULL, url VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_64C19C1F47645AE (url), INDEX IDX_64C19C1727ACA70 (parent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
20
        $this->addSql('CREATE TABLE comments (id INT AUTO_INCREMENT NOT NULL, parent_id INT DEFAULT NULL, post_id INT DEFAULT NULL, commentator_id INT DEFAULT NULL, user_id INT DEFAULT NULL, user_agent_id INT DEFAULT NULL, text LONGTEXT NOT NULL, deleted TINYINT(1) NOT NULL, ip_addr VARCHAR(15) DEFAULT NULL, time_created DATETIME NOT NULL, disqus_id INT DEFAULT NULL, INDEX IDX_5F9E962A727ACA70 (parent_id), INDEX IDX_5F9E962A4B89032C (post_id), INDEX IDX_5F9E962A506AFCC0 (commentator_id), INDEX IDX_5F9E962AA76ED395 (user_id), INDEX IDX_5F9E962AD499950B (user_agent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
21
        $this->addSql('CREATE TABLE commentators (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(80) NOT NULL, mail VARCHAR(80) DEFAULT NULL, website VARCHAR(160) DEFAULT NULL, disqus_id INT DEFAULT NULL, email_hash VARCHAR(32) DEFAULT NULL, UNIQUE INDEX UNIQ_6AB0FB335E237E065126AC48476F5DE7 (name, mail, website), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
22
        $this->addSql('CREATE TABLE posts (id INT AUTO_INCREMENT NOT NULL, category_id INT DEFAULT NULL, user_id INT DEFAULT NULL, title VARCHAR(128) NOT NULL, url VARCHAR(255) NOT NULL, hide TINYINT(1) NOT NULL, text_post LONGTEXT NOT NULL, description VARCHAR(255) DEFAULT NULL, time_created DATETIME NOT NULL, last_update DATETIME DEFAULT NULL, disqus_thread INT DEFAULT NULL, UNIQUE INDEX UNIQ_885DBAFAF47645AE (url), INDEX IDX_885DBAFA12469DE2 (category_id), INDEX IDX_885DBAFAA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
23
        $this->addSql('CREATE TABLE relation_topictag (post_id INT NOT NULL, tag_id INT NOT NULL, INDEX IDX_5D8668364B89032C (post_id), INDEX IDX_5D866836BAD26311 (tag_id), PRIMARY KEY(post_id, tag_id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
24
        $this->addSql('CREATE TABLE posts_counts (id INT AUTO_INCREMENT NOT NULL, post_id INT DEFAULT NULL, comments INT NOT NULL, views INT NOT NULL, UNIQUE INDEX UNIQ_D23531924B89032C (post_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
25
        $this->addSql('CREATE TABLE sys_parameters (id INT AUTO_INCREMENT NOT NULL, optionkey VARCHAR(128) NOT NULL, value LONGTEXT NOT NULL, UNIQUE INDEX UNIQ_275FC35B4B1573F6 (optionkey), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
26
        $this->addSql('CREATE TABLE tags (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, url VARCHAR(255) NOT NULL, UNIQUE INDEX UNIQ_6FBC94265E237E06 (name), UNIQUE INDEX UNIQ_6FBC9426F47645AE (url), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
27
        $this->addSql('CREATE TABLE tracking (id INT AUTO_INCREMENT NOT NULL, post_id INT DEFAULT NULL, user_agent_id INT DEFAULT NULL, ip_addr VARCHAR(15) DEFAULT NULL, time_created DATETIME NOT NULL, INDEX IDX_A87C621C4B89032C (post_id), INDEX IDX_A87C621CD499950B (user_agent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
28
        $this->addSql('CREATE TABLE tracking_agent (id INT AUTO_INCREMENT NOT NULL, user_agent VARCHAR(255) NOT NULL, bot_filter TINYINT(1) NOT NULL, UNIQUE INDEX UNIQ_CDD78530C44967C5 (user_agent), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
29
        $this->addSql('CREATE TABLE tracking_archive (id INT AUTO_INCREMENT NOT NULL, post_id INT NOT NULL, user_agent_id INT DEFAULT NULL, ip_addr VARCHAR(15) DEFAULT NULL, time_created DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
30
        $this->addSql('CREATE TABLE users (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(128) NOT NULL, mail VARCHAR(64) NOT NULL, password VARCHAR(32) NOT NULL, password_salt VARCHAR(32) NOT NULL, user_type VARCHAR(16) NOT NULL, time_created DATETIME NOT NULL, time_last DATETIME DEFAULT NULL, ip_addr VARCHAR(15) DEFAULT NULL, ip_last VARCHAR(15) DEFAULT NULL, email_hash VARCHAR(32) DEFAULT NULL, UNIQUE INDEX UNIQ_1483A5E9F85E0677 (username), UNIQUE INDEX UNIQ_1483A5E95126AC48 (mail), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB');
31
        $this->addSql('ALTER TABLE category ADD CONSTRAINT FK_64C19C1727ACA70 FOREIGN KEY (parent_id) REFERENCES category (id) ON DELETE SET NULL');
32
        $this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A727ACA70 FOREIGN KEY (parent_id) REFERENCES comments (id) ON DELETE SET NULL');
33
        $this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A4B89032C FOREIGN KEY (post_id) REFERENCES posts (id)');
34
        $this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962A506AFCC0 FOREIGN KEY (commentator_id) REFERENCES commentators (id)');
35
        $this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962AA76ED395 FOREIGN KEY (user_id) REFERENCES users (id)');
36
        $this->addSql('ALTER TABLE comments ADD CONSTRAINT FK_5F9E962AD499950B FOREIGN KEY (user_agent_id) REFERENCES tracking_agent (id) ON DELETE SET NULL');
37
        $this->addSql('ALTER TABLE posts ADD CONSTRAINT FK_885DBAFA12469DE2 FOREIGN KEY (category_id) REFERENCES category (id)');
38
        $this->addSql('ALTER TABLE posts ADD CONSTRAINT FK_885DBAFAA76ED395 FOREIGN KEY (user_id) REFERENCES users (id)');
39
        $this->addSql('ALTER TABLE relation_topictag ADD CONSTRAINT FK_5D8668364B89032C FOREIGN KEY (post_id) REFERENCES posts (id) ON DELETE CASCADE');
40
        $this->addSql('ALTER TABLE relation_topictag ADD CONSTRAINT FK_5D866836BAD26311 FOREIGN KEY (tag_id) REFERENCES tags (id) ON DELETE CASCADE');
41
        $this->addSql('ALTER TABLE posts_counts ADD CONSTRAINT FK_D23531924B89032C FOREIGN KEY (post_id) REFERENCES posts (id)');
42
        $this->addSql('ALTER TABLE tracking ADD CONSTRAINT FK_A87C621C4B89032C FOREIGN KEY (post_id) REFERENCES posts (id)');
43
        $this->addSql('ALTER TABLE tracking ADD CONSTRAINT FK_A87C621CD499950B FOREIGN KEY (user_agent_id) REFERENCES tracking_agent (id) ON DELETE SET NULL');
44
    }
45

46
    public function down(Schema $schema): void
47
    {
48
        // this down() migration is auto-generated, please modify it to your needs
49
        $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.');
50

51
        $this->addSql('ALTER TABLE category DROP FOREIGN KEY FK_64C19C1727ACA70');
52
        $this->addSql('ALTER TABLE posts DROP FOREIGN KEY FK_885DBAFA12469DE2');
53
        $this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962A727ACA70');
54
        $this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962A506AFCC0');
55
        $this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962A4B89032C');
56
        $this->addSql('ALTER TABLE relation_topictag DROP FOREIGN KEY FK_5D8668364B89032C');
57
        $this->addSql('ALTER TABLE posts_counts DROP FOREIGN KEY FK_D23531924B89032C');
58
        $this->addSql('ALTER TABLE tracking DROP FOREIGN KEY FK_A87C621C4B89032C');
59
        $this->addSql('ALTER TABLE relation_topictag DROP FOREIGN KEY FK_5D866836BAD26311');
60
        $this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962AD499950B');
61
        $this->addSql('ALTER TABLE tracking DROP FOREIGN KEY FK_A87C621CD499950B');
62
        $this->addSql('ALTER TABLE comments DROP FOREIGN KEY FK_5F9E962AA76ED395');
63
        $this->addSql('ALTER TABLE posts DROP FOREIGN KEY FK_885DBAFAA76ED395');
64
        $this->addSql('DROP TABLE avatar');
65
        $this->addSql('DROP TABLE category');
66
        $this->addSql('DROP TABLE comments');
67
        $this->addSql('DROP TABLE commentators');
68
        $this->addSql('DROP TABLE posts');
69
        $this->addSql('DROP TABLE relation_topictag');
70
        $this->addSql('DROP TABLE posts_counts');
71
        $this->addSql('DROP TABLE sys_parameters');
72
        $this->addSql('DROP TABLE tags');
73
        $this->addSql('DROP TABLE tracking');
74
        $this->addSql('DROP TABLE tracking_agent');
75
        $this->addSql('DROP TABLE tracking_archive');
76
        $this->addSql('DROP TABLE users');
77
    }
78
}
79

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.