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");
}