Neos\Flow\Persistence\Doctrine\Migrations\Version20131203110242::down PHP Метод

down() публичный Метод

public down ( Doctrine\DBAL\Schema\Schema $schema ) : void
$schema Doctrine\DBAL\Schema\Schema
Результат void
    public function down(Schema $schema)
    {
        $this->abortIf($this->connection->getDatabasePlatform()->getName() != "postgresql");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata DROP CONSTRAINT FK_60A956B98D940019");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace DROP CONSTRAINT FK_71DE9CFBE9BFE681");
        $result = $this->connection->executeQuery("SELECT installed_version FROM pg_available_extensions WHERE name = 'uuid-ossp'");
        if ($result->fetchColumn() !== null) {
            $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ADD persistence_object_identifier VARCHAR(40)");
            $this->addSql("UPDATE typo3_typo3cr_domain_model_workspace SET persistence_object_identifier = uuid_generate_v4()");
        }
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ALTER persistence_object_identifier SET NOT NULL");
        $this->addSql("UPDATE typo3_typo3cr_domain_model_workspace w SET baseworkspace = b.persistence_object_identifier FROM typo3_typo3cr_domain_model_workspace b WHERE b.name = w.baseworkspace");
        $this->addSql("UPDATE typo3_typo3cr_domain_model_nodedata n SET workspace = w.persistence_object_identifier FROM typo3_typo3cr_domain_model_workspace w WHERE w.name = n.workspace");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata ALTER workspace TYPE VARCHAR(40)");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ALTER baseworkspace TYPE VARCHAR(40)");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace DROP CONSTRAINT typo3_typo3cr_domain_model_workspace_pkey");
        $this->addSql("CREATE UNIQUE INDEX flow3_identity_typo3_typo3cr_domain_model_workspace ON typo3_typo3cr_domain_model_workspace (name)");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ADD PRIMARY KEY (persistence_object_identifier)");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_nodedata ADD CONSTRAINT fk_820cadc88d940019 FOREIGN KEY (workspace) REFERENCES typo3_typo3cr_domain_model_workspace (persistence_object_identifier) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE");
        $this->addSql("ALTER TABLE typo3_typo3cr_domain_model_workspace ADD CONSTRAINT fk_71de9cfbe9bfe681 FOREIGN KEY (baseworkspace) REFERENCES typo3_typo3cr_domain_model_workspace (persistence_object_identifier) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE");
    }
Version20131203110242